最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

django xadmin實現(xiàn)自定義頁面并且權(quán)限控制方式

 更新時間:2023年08月25日 17:18:01   作者:pzl_pzl  
這篇文章主要介紹了django xadmin實現(xiàn)自定義頁面并且權(quán)限控制方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

寫一些內(nèi)部工具 

自定也頁面效果圖

代碼如下

class GlobalSettings(object):
    # 修改title
    site_title = 'VIP權(quán)益服務(wù)后臺'
    # 修改footer
    site_footer = 'xxxx科技有限公司'
    # 收起菜單
    menu_style = 'accordion'
    def get_site_menu(self):
        return [
            {
                'title': '常用工具',
                'perm': self.get_model_perm(ToolsModel, 'view'),
                'icon': 'fa fa-support',
                'menus': (
                    {
                        'title': '加解密',
                        'url': '/tools/enc_dec_tool',
                        'perm': self.get_model_perm(EncDecModel, 'view'),
                        'icon': 'fa fa-smile-o'
                    },
                    {
                        'title': '加權(quán)益點數(shù)',
                        'url': '/tools/add_benefit_points_tool',
                        'perm': self.get_model_perm(AddBenefitPointModel, 'view'),
                        'icon': 'fa fa-smile-o'
                    },
                    {
                        'title': '生成兌換碼',
                        'url': '/tools/gen_cashing_tool',
                        'perm': self.get_model_perm(GenCashingModel, 'view'),
                        'icon': 'fa fa-smile-o'
                    },
                    {
                        'title': '換手機(jī)號',
                        'url': '/tools/change_phone_tool',
                        'perm': self.get_model_perm(ChangePhoneModel, 'view'),
                        'icon': 'fa fa-smile-o'
                    },
                    {
                        'title': '生成會員',
                        'url': '/tools/init_member_tool',
                        'perm': self.get_model_perm(InitMemberModel, 'view'),
                        'icon': 'fa fa-smile-o'
                    },
                    {
                        'title': '生成卡號',
                        'url': '/tools/gen_card_number_tool',
                        'perm': self.get_model_perm(GenCardNumberModel, 'view'),
                        'icon': 'fa fa-smile-o'
                    },
                    {
                        'title': 'ras生成簽名',
                        'url': '/tools/gen_rsa_sign_tool',
                        'perm': self.get_model_perm(GenRsaSignModel, 'view'),
                        'icon': 'fa fa-smile-o'
                    },
                    # {
                    #     'title': '單個退款',
                    #     'url': '/tools/refund_member_tool',
                    #     'perm': self.get_model_perm(Realname, 'view'),
                    #     'icon': 'fa fa-smile-o'
                    # },
                )
            }
        ]
# 將title和footer信息進(jìn)行注冊
xadmin.site.register(views.CommAdminView, GlobalSettings)

url注冊

from django.conf.urls import url
from tools import views
urlpatterns = [
    url(r'^real_name_tool$', views.RealnamView.as_view()),
    url(r'^enc_dec_tool$', views.EncDecView.as_view()),
    url(r'^add_benefit_points_tool$', views.AddBenefitPointView.as_view()),
    url(r'^gen_cashing_tool$', views.GenCashingView.as_view()),
    url(r'^change_phone_tool$', views.ChangePhoneView.as_view()),
    url(r'^init_member_tool$', views.InitMemberView.as_view()),
    url(r'^refund_member_tool$', views.RefundMemberView.as_view()),
    url(r'^gen_card_number_tool$', views.GenCardNumberView.as_view()),
    url(r'^gen_rsa_sign_tool$', views.GenRsaSignView.as_view()),
    url(r'^add_uv$', views.add_uv_view),
    url(r'^real_name_api$', views.real_name_view),
]

其中一個from表單

class EncDecForm(forms.Form):
    ENC_DEC_TYPE = (
        ("enc", "加密"),
        ("dec", "解密"),
    )
    enc_dec_str = forms.CharField(label='字符串', required=True, help_text='需要加密/解密的字符串')
    enc_dec_type = forms.ChoiceField(choices=ENC_DEC_TYPE, required=True, label="操作類型")
    result = forms.CharField(label='結(jié)果', required=False, widget=forms.TextInput(attrs={'readonly': 'true'}))

其中一個視圖函數(shù)

class EncDecView(View):
    def get(self, request):
        return render(request, 'tools/enc_dec_str.html', {'enc_dec_form': EncDecForm()})
    def post(self, request):
        enc_dec_form = EncDecForm(request.POST)
        if enc_dec_form.is_valid():
            enc_dec_str = request.POST.get("enc_dec_str", "")
            enc_dec_type = enc_dec_form.cleaned_data["enc_dec_type"]
            try:
                # decrypt_info, encrypt_info
                result = eval(enc_dec_type + "rypt_info")(enc_dec_str)
                logger.info(result)
                messages.success(request, '加解密查看結(jié)果↓')
                enc_dec_form = EncDecForm(initial={"result":result, "enc_dec_type": enc_dec_type})
            except Exception as e:
                logger.error(e)
                messages.error(request, '加解密異常')
            return render(request, 'tools/enc_dec_str.html', {'enc_dec_form': enc_dec_form})
        else:
            return render(request, 'tools/enc_dec_str.html', {'enc_dec_form': enc_dec_form})

效果

授權(quán)代碼

使用

managed = True  空model
class ToolsModel(models.Model):
    class Meta:
        managed = True
        verbose_name = '常用工具'
        verbose_name_plural = verbose_name

給子賬號授權(quán) 

子賬號登錄 展示一些你寫menu

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Django mysqlclient安裝和使用詳解

    Django mysqlclient安裝和使用詳解

    這篇文章主要介紹了Django mysqlclient安裝和使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • python serial串口通信示例詳解

    python serial串口通信示例詳解

    Python的serial庫是一個用于串口通信的強(qiáng)大工具,它提供了一個簡單而靈活的接口,可以方便地與串口設(shè)備進(jìn)行通信,包括與驅(qū)動電機(jī)進(jìn)行通信,這篇文章主要介紹了python serial串口通信,需要的朋友可以參考下
    2023-12-12
  • Python處理警告范例代碼示例及解釋

    Python處理警告范例代碼示例及解釋

    在Python中,可通過warnings庫觸發(fā)并處理警告,警告用于提示用戶代碼中的潛在問題而非異常,本文介紹如何使用warnings庫導(dǎo)入、定義警告觸發(fā)函數(shù),并通過handle_warnings函數(shù)捕獲和處理不同類型的警告,需要的朋友可以參考下
    2024-10-10
  • Python+Ollama零成本打造一個私有AI助手

    Python+Ollama零成本打造一個私有AI助手

    零?API?費用、零數(shù)據(jù)泄露風(fēng)險、完全離線可用,本文將帶大家從安裝到實戰(zhàn),詳細(xì)介紹一下如何使用Python結(jié)合Ollama模型30?分鐘跑起一個本地?AI?助手,感興趣的小伙伴可以了解下
    2026-04-04
  • pycharm跑python項目易出錯的問題總結(jié)

    pycharm跑python項目易出錯的問題總結(jié)

    這篇文章主要介紹了pycharm跑python項目易出錯問題的相關(guān)資料,當(dāng)你在PyCharm中運行Python程序時遇到報錯,可以按照以下步驟進(jìn)行排查和解決,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-09-09
  • Python ORM編程基礎(chǔ)示例

    Python ORM編程基礎(chǔ)示例

    這篇文章主要介紹了Python ORM編程基礎(chǔ),結(jié)合實例形式分析了Python ORM編程相關(guān)概念、原理以及緩存、數(shù)據(jù)庫操作相關(guān)使用技巧,需要的朋友可以參考下
    2020-02-02
  • django中SMTP發(fā)送郵件配置詳解

    django中SMTP發(fā)送郵件配置詳解

    這篇文章主要介紹了django中SMTP發(fā)送郵件配置,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • 一文帶你全面理解Python中的self

    一文帶你全面理解Python中的self

    對于初學(xué)Python的同學(xué)來說,在class中經(jīng)常看到self。那么,到底self是個啥?這篇文章小編就來帶大家深入了解一下,希望對大家有所幫助
    2023-03-03
  • pytorch中transform.Compose()用法詳解

    pytorch中transform.Compose()用法詳解

    PyTorch是一個開源的Python機(jī)器學(xué)習(xí)庫,基于Torch,用于自然語言處理等應(yīng)用程序,這篇文章主要介紹了pytorch中transform.Compose()用法,需要的朋友可以參考下
    2023-10-10
  • Python零基礎(chǔ)入門學(xué)習(xí)之輸入與輸出

    Python零基礎(chǔ)入門學(xué)習(xí)之輸入與輸出

    在之前的編程中,我們的信息打印,數(shù)據(jù)的展示都是在控制臺(命令行)直接輸出的,信息都是一次性的沒有辦法復(fù)用和保存以便下次查看,今天我們將學(xué)習(xí)Python的輸入輸出,解決以上問題
    2019-04-04

最新評論

梅河口市| 杂多县| 石泉县| 洛南县| 福建省| 新田县| 衡东县| 运城市| 康乐县| 旌德县| 阳信县| 陵川县| 类乌齐县| 胶南市| 盱眙县| 喀什市| 井陉县| 靖江市| 精河县| 鲁甸县| 军事| 呼伦贝尔市| 寿光市| 府谷县| 沽源县| 闵行区| 阿克陶县| 腾冲县| 洞头县| 进贤县| 乌鲁木齐市| 景泰县| 宁国市| 托克托县| 合川市| 乾安县| 河津市| 永城市| 安新县| 东莞市| 甘泉县|