我想知道如何只向職員用戶提供文件(只有當is_staff = True時)。如何僅將文件提供給is_staff用戶?
回答
如果您是指由Django生成的動態內容,請繼續閱讀。否則,對於靜態文件,請使用其他答案中描述的http服務器配置解決方案。
您可以使用裝飾設置在視圖級別細粒度的控制:
@user_passes_test(lambda u: u.is_staff)
def my_view(request):
...
更多信息以http://docs.djangoproject.com/en/dev/topics/auth/#django.contrib.auth.decorators.user_passes_test
如果你想廣義利用這一點,你可以這樣做:
staff_only = user_passes_test(lambda u: u.is_staff)
...,包括這在你的URL配置:
urlpatterns = patterns('',
url(r'^url1/$',
staff_only(views.my_view1),
name = 'myapp_myview1'),
url(r'^url2/$',
staff_only(views.my_view2),
name = 'myapp_myview2'),
...等。
好的,但沒有ayush解決方案,你必須提供靜態文件與Django的對於非開發環境來說是個壞主意,我是否從圖片中錯過了一些東西? – 2011-01-30 19:40:15
,如果你使用的是Apache 2.2再考慮像例如
<Location /example/>
AuthType Basic
AuthName "example.com"
AuthUserFile /dev/null
AuthBasicAuthoritative Off
Require valid-user
SetEnv DJANGO_SETTINGS_MODULE mysite.settings
PythonAuthenHandler django.contrib.auth.handlers.modpython
</Location>
默認情況下的位置,認證處理器將限制進入/例子/位置的用戶標記爲工作人員。您可以使用一組PythonOption指令修改此行爲:
DjangoRequireStaffStatus:如果設置爲只「工作人員」的用戶(即那些與is_staff標誌)將被允許。
DjangoRequireSuperuserStatus:如果設置爲僅超級用戶(即設置了is_superuser標誌的用戶)將被允許。默認爲關閉。
DjangoPermissionName:要求訪問的權限的名稱。默認情況下,不需要特定的權限。
+1很酷的東西!即使這些文檔有點晦澀google-fu http://docs.djangoproject.com/en/dev/howto/apache-auth/謝謝:)) – 2011-01-30 19:38:52
- 1. 如何僅將密碼提交給heroku而不提供給github?
- 2. 將文件提供給javascript
- 3. 有沒有辦法將上傳的文件提供給用戶?
- 4. 如何輕鬆,透明地將gzip文件提供給用戶的瀏覽器?
- 5. 不提供給用戶控件
- 6. 將文件寫入Blobstore AppEngine並提供給客戶端
- 7. Nodejs服務器將wav文件提供給Java客戶端
- 8. 如何將創建的目錄提供給用戶?
- 9. 僅向授權用戶提供ASP.NET中的靜態文件
- 10. 如何將JSON對象作爲參數提供給python文件?
- 11. 如何預加載聲音文件並將其提供給FlashPlayer?
- 12. Xcode 8 - 如何將.app文件提供給其他人測試
- 13. 如何將Groovy腳本文件路徑提供給GroovyScriptEngine?
- 14. 如何在課堂文件中將textcolor提供給textview
- 15. 如何將保存選項提供給xls文件
- 16. 僅給某些用戶提供工作簿寫入權限
- 17. 如何將文件返回給用戶?
- 18. 客戶希望我做CSS編碼(僅),但不想提供給我php文件
- 19. 僅爲特定用戶提供sharepoint webpart
- 20. 如何將python列表提供給javascript?
- 21. 如何將MKLocalSearchCompletion結果提供給UISearchController
- 22. 如何將JSON提供給React?
- 23. 如何將FileInputStream提供給Videoview?
- 24. 如何將django模板提供給javascript
- 25. 如何將TensorArray提供給TensorFlow會話
- 26. 如何將cookie提供給Java HTMLDocument?
- 27. 如何生成RSS提要並提供給用戶
- 28. 如何使用數據URI將MSWord文檔(.docx)提供給Chrome?
- 29. 如何將網頁上生成的文件作爲下載文件提供給用戶?
- 30. 如何使用appscript和Python將文件列表提供給應用程序?
您是指使用Django視圖生成的靜態文件(例如Javascript,CSS或圖像)還是動態文件? – 2011-01-30 18:18:53