中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Django的認證框架有哪些功能

發布時間:2020-08-24 16:42:18 來源:億速云 閱讀:146 作者:Leah 欄目:編程語言

Django的認證框架有哪些功能?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

權限

權限可以很方便地標識用戶和用戶組可以執行的操作。 它們被Django的admin管理站點所使用,你也可以在你自己的代碼中使用它們。

Django的admin站點如下使用權限:

只有設置了 add 權限的用戶才能使用添加表單,添加對象的視圖。

只有設置了 change 權限的用戶才能使用變更列表,變更表格,變更對象的視圖。

只有設置了 delete 權限的用戶才能刪除一個對象。

權限是根據每一個類型的對象而設置的,并不具體到對象的特定實例。 例如,我們可以允許Mary改變新故事,但是目前還不允許設置Mary只能改變自己創建的新故事,或者根據給定的狀態,出版日期或者ID號來選擇權限。

會自動為每一個Django模型創建三個基本權限:增加、改變和刪除。 當你運行manage.py syncdb命令時,這些權限被添加到auth_permission數據庫表中。

權限以 "._" 的形式出現。

就跟用戶一樣,權限也就是Django模型中的 django.contrib.auth.models 。因此如果你愿意,你也可以通過Django的數據庫API直接操作權限。

組提供了一種通用的方式來讓你按照一定的權限規則和其他標簽將用戶分類。 一個用戶可以隸屬于任何數量的組。

在一個組中的用戶自動獲得了賦予該組的權限。 例如, Site editors 組擁有 can_edit_home_page 權限,任何在該組中的用戶都擁有這個權限。

組也可以通過給定一些用戶特殊的標記,來擴展功能。 例如,你創建了一個 'Special users' 組,并且允許組中的用戶訪問站點的一些VIP部分,或者發送VIP的郵件消息。

和用戶管理一樣,admin接口是管理組的最簡單的方法。 然而,組也就是Django模型 django.contrib.auth.models ,因此你可以使用Django的數據庫API,在底層訪問這些組。

消息

消息系統會為給定的用戶接收消息。 每個消息都和一個 User 相關聯。

在每個成功的操作以后,Django的admin管理接口就會使用消息機制。 例如,當你創建了一個對象,你會在admin頁面的頂上看到 The object was created successfully 的消息。

你也可以使用相同的API在你自己的應用中排隊接收和顯示消息。 API非常地簡單:

要創建一條新的消息,使用 user.message_set.create(message='message_text') 。

要獲得/刪除消息,使用 user.get_and_delete_messages() ,這會返回一個 Message 對象的列表,并且從隊列中刪除返回的項。

在例子視圖中,系統在創建了播放單(playlist)以后,為用戶保存了一條消息。

def create_playlist(request, songs):
  # Create the playlist with the given songs.
  # ...
  request.user.message_set.create(
    message="Your playlist was added successfully."
  )
  return render_to_response("playlists/create.html",
    context_instance=RequestContext(request))

當使用 RequestContext ,當前登錄的用戶以及他(她)的消息,就會以模板變量 {{ messages }} 出現在模板的context中。

{% if messages %}
<ul>
  {% for message in messages %}
  <li>{{ message }}</li>
  {% endfor %}
</ul>
{% endif %}

需要注意的是 RequestContext 會在后臺調用 get_and_delete_messages ,因此即使你沒有顯示它們,它們也會被刪除掉。

最后注意,這個消息框架只能服務于在用戶數據庫中存在的用戶。 如果要向匿名用戶發送消息,請直接使用會話框架。

看完上述內容,你們掌握Django的認證框架有哪些功能的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

高安市| 滨州市| 尖扎县| 齐齐哈尔市| 鄂尔多斯市| 南华县| 施甸县| 绥滨县| 历史| 新建县| 安顺市| 邵武市| 新津县| 准格尔旗| 枝江市| 普洱| 广平县| 西充县| 新宾| 盐池县| 民丰县| 万全县| 吴桥县| 沽源县| 万源市| 贺州市| 岳西县| 唐海县| 独山县| 通州市| 东光县| 福泉市| 偃师市| 凤城市| 成都市| 广饶县| 托克逊县| 咸宁市| 青浦区| 文山县| 晋城|