我在Django中具有以下代码结构。
├── docs
│ └── _build
│ ├── doctrees
│ └── html
│ └── index.html
│
├── localcoinswap
├── scripts
├── _static
├── _templates
├── tests
└── manage.py
这里docs
文件夹包含静态html文件。即 index.html
以下是有关问题的一些问题:
在docs
项目中,<domain>/docs/index.html
文件夹的html应该用作URL Django
。如何做到这一点
应仅限于具有is_staff
属性True
的用户。
我应该使用哪个urlpattern
,哪个View
对提供这些静态文件有用(受管理员限制)?
提前谢谢!
答案 0 :(得分:1)
在TEMPLATES
的{{1}}设置中添加文档的基本目录。
settings.py
在您的TEMPLATES = [
{
...
'DIRS': [os.path.join(BASE_DIR, '_templates'), "add your base directory here"],
...
}
]
中,使用urls.py
提供文件。要进一步将网址限制为仅工作人员,可以将视图包装在TemplateView
装饰器中。
staff_member_required
确保模板和doc模板的文件名不冲突,否则将始终考虑根据from django.contrib.admin.views.decorators import staff_member_required
...
urlpatterns += [url(r'^docs/index\.html$', staff_member_required(TemplateView.as_view(template_name='index.html')), name="index"),]
列表评估的第一个文件。