欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

利用django-suit模板添加自定義的菜單、頁(yè)面及設(shè)置訪問權(quán)限

 更新時(shí)間:2018年07月13日 09:23:49   作者:喂-不吃素的熊寶寶  
這篇文章主要給大家介紹了關(guān)于利用django-suit模板添加自定義的菜單、頁(yè)面及設(shè)置訪問權(quán)限的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起看看吧

前言

本文主要給大家介紹了利用django-suit模板在管理后臺(tái)添加自定義的菜單和自定義的頁(yè)面、設(shè)置訪問權(quán)限的相關(guān)內(nèi)容,分享出來(lái)供大家參考學(xué)習(xí),下面話不多說(shuō)了,來(lái)隨著小編一起看看詳細(xì)的介紹吧

 方法如下:

1、先在settings.py里面的SUIT_CONFIG中添加配置,我們平時(shí)添加的配置都是app類型的,我們需要自定義頁(yè)面的話,就不能用app了,需要用url,這里面我們使用如下:

# django-suit config
SUIT_CONFIG = {
 'ADMIN_NAME': 'X·X',
 'HEADER_DATE_FORMAT': '',
 'HEADER_TIME_FORMAT': 'H:i',
 'SHOW_REQUIRED_ASTERISK': True,
 'CONFIRM_UNSAVED_CHANGES': True,
 'LIST_PER_PAGE': 20,
 'MENU_OPEN_FIRST_CHILD': True,
 'MENU': (
  # sites是默認(rèn)原先的app和models
  # 'sites',
  '-',
  {'app': 'auth', 'label': u'權(quán)限管理', 'icon': 'icon-lock'},
  '-',
  {'app': 'duser', 'label': u'平臺(tái)用戶', 'icon': 'icon-user'},
  '-',
  {'app': 'dtheme', 'label': u'主題管理', 'icon': 'icon-tags'},
  '-',
  {'app': 'dpost', 'label': u'文章管理', 'icon': 'icon-edit'},
  '-',
  # 如果使用http這種絕對(duì)路徑的話,菜單不會(huì)展開,且不會(huì)標(biāo)記為active狀態(tài)
  {'url': '/admin/theme/mysql', 'label': u'第三數(shù)據(jù)', 'icon': 'icon-lock'},
  '-',
  {'label': u'統(tǒng)計(jì)數(shù)據(jù)', 'icon': 'icon-tags', 'models': (
   {'url': '/admin/theme/data', 'label': u'第一數(shù)據(jù)'},
   {'url': '/admin/theme/show', 'label': u'第二數(shù)據(jù)'}
  )}
 )
}

2、然后就是在urls.py里面添加路由,這個(gè)路由一定要添加在admin.site.urls的前面,因?yàn)椴蝗坏脑挘鼤?huì)先去admin.site.urls里面去匹配,造成混亂或報(bào)錯(cuò)。

from dtheme import views

urlpatterns = [
 # 第一個(gè)就是我們自己新增的url路徑
 url(r'^admin/theme/data', views.data),
 url(r'^admin/', admin.site.urls),
 url(r'^api/user/', include('duser.urls')),
 url(r'^api/post/', include('dpost.urls')),
 url(r'^api/theme/', include('dtheme.urls')),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

3、然后,就是寫views了,我們假如dtheme模塊的views里面寫:

def data(request):
 return render(request, "data.html")

4、請(qǐng)注意,之所以我們上面可以直接用data.html,是因?yàn)槲覀冊(cè)赿theme模塊下面創(chuàng)建了一個(gè)templates文件夾,然后把data.html放在里面了,它會(huì)掃描這個(gè)文件夾找模板。那么這個(gè)模板寫成什么樣呢?我們就隨意寫了一個(gè)東西。這里面需要注意的是,我們需要繼承base_site.html,不然那些header和footer,還有左邊的菜單什么的都沒有了,相當(dāng)于誰(shuí)也不繼承。內(nèi)容就寫在content里面即可。

{% extends "admin/base_site.html" %}

{% block content %}
hello, new page.
{% endblock %}

5、OVER。

6、回來(lái),還沒完。這個(gè)時(shí)候如果我們從后臺(tái)注銷,然后直接在瀏覽器中輸入http://127.0.0.1:8000/admin/theme/data的話,發(fā)現(xiàn)還是可以直接訪問到這個(gè)頁(yè)面,輸入管理后臺(tái)的其他頁(yè)面它就會(huì)要求你驗(yàn)證。所以說(shuō)我們自定義的這個(gè)頁(yè)面還是十分危險(xiǎn)的,其他人知道網(wǎng)址后就可以直接訪問它了,我們的想法其實(shí)也很簡(jiǎn)單啊,我們也不想搞特殊,在安全這方面,只要求和其他后臺(tái)的頁(yè)面一樣就行了:即用戶在訪問這些后臺(tái)頁(yè)面的時(shí)候要做一個(gè)用戶驗(yàn)證,如果用戶已經(jīng)登錄了,就可以訪問,沒登錄沒通過(guò)驗(yàn)證的話,就不能訪問,直接跳轉(zhuǎn)到登錄頁(yè)面。這個(gè)需要我們?cè)賤iew里面做設(shè)置。

from django.contrib.admin.views.decorators import staff_member_required

def data(request):
 return render(request, "data.html")

data = staff_member_required(data)

看到上面的變化了沒有?就是我們引入了一個(gè)staff_member_required模塊,這個(gè)模塊就是用來(lái)驗(yàn)證是否是內(nèi)部人員(也就是是否登錄)用的。當(dāng)然我們要把我們的view函數(shù)放在它里面。這樣就OK了。

7、這里面還有一個(gè)如何把自定義頁(yè)面加入到auth里面的坑,待研究完再回來(lái)補(bǔ)充。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • python在指定目錄下查找gif文件的方法

    python在指定目錄下查找gif文件的方法

    這篇文章主要介紹了python在指定目錄下查找gif文件的方法,涉及Python操作文件的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-05-05
  • 淺談Python2.6和Python3.0中八進(jìn)制數(shù)字表示的區(qū)別

    淺談Python2.6和Python3.0中八進(jìn)制數(shù)字表示的區(qū)別

    下面小編就為大家?guī)?lái)一篇淺談Python2.6和Python3.0中八進(jìn)制數(shù)字表示的區(qū)別。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04
  • Python編程實(shí)現(xiàn)從字典中提取子集的方法分析

    Python編程實(shí)現(xiàn)從字典中提取子集的方法分析

    這篇文章主要介紹了Python編程實(shí)現(xiàn)從字典中提取子集的方法,結(jié)合實(shí)例形式對(duì)比分析了Python采用字典推導(dǎo)式與序列轉(zhuǎn)換實(shí)現(xiàn)字典提取子集的相關(guān)操作技巧與優(yōu)缺點(diǎn),需要的朋友可以參考下
    2018-02-02
  • Python  中的pass語(yǔ)句語(yǔ)法詳析

    Python  中的pass語(yǔ)句語(yǔ)法詳析

    這篇文章主要介紹了Python 中的pass語(yǔ)句語(yǔ)法詳析,pass是一種空操作(null operation),解釋器執(zhí)行到它的時(shí)候,除了檢查語(yǔ)法是否合法,什么也不做就直接跳過(guò)
    2022-07-07
  • 分享6個(gè)好用到爆的Pycharm插件

    分享6個(gè)好用到爆的Pycharm插件

    這篇文章主要介紹了分享6個(gè)好用到爆的Pycharm插件,在安裝上之后,我們的編程效率、工作效率都能夠得到極大地提升,下面分享的內(nèi)容,需要的小伙伴可以參考一下
    2022-02-02
  • Python二分查找+字符串模板+textwrap模塊,

    Python二分查找+字符串模板+textwrap模塊,

    這篇文章主要介紹了Python二分查找+字符串模板+textwrap模塊,文章圍繞主題展開詳細(xì)內(nèi)容,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-05-05
  • python matplotlib 畫dataframe的時(shí)間序列圖實(shí)例

    python matplotlib 畫dataframe的時(shí)間序列圖實(shí)例

    今天小編就為大家分享一篇python matplotlib 畫dataframe的時(shí)間序列圖實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • python如何往列表頭部和尾部添加元素

    python如何往列表頭部和尾部添加元素

    這篇文章主要介紹了python如何往列表頭部和尾部添加元素,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • python 捕獲 shell/bash 腳本的輸出結(jié)果實(shí)例

    python 捕獲 shell/bash 腳本的輸出結(jié)果實(shí)例

    下面小編就為大家?guī)?lái)一篇python 捕獲 shell/bash 腳本的輸出結(jié)果實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-01-01
  • Python線程下使用鎖的技巧分享

    Python線程下使用鎖的技巧分享

    本篇文章給大家分享了Python線程下使用鎖需要注意的地方,有興趣的朋友們可以學(xué)習(xí)參考下。
    2018-09-09

最新評(píng)論