Django如何设置主页面
我想为我的应用设置主页面或索引页。 我尝试在settings.py中添加MAIN_页面,然后创建一个返回MAIN_页面对象的MAIN_页面视图,但没有成功 另外,我尝试在url.py中添加一个声明,如Django如何设置主页面,django,indexing,set,main,Django,Indexing,Set,Main,我想为我的应用设置主页面或索引页。 我尝试在settings.py中添加MAIN_页面,然后创建一个返回MAIN_页面对象的MAIN_页面视图,但没有成功 另外,我尝试在url.py中添加一个声明,如 (r'^$', index), 其中index应该是根目录上index.html文件的名称(但显然不起作用) 在Django网站中设置主页的最佳方式是什么 谢谢 您可以使用通用视图功能: # in your urls.py ... ... url(r'^faq/$', 'django.
(r'^$', index),
其中index应该是根目录上index.html文件的名称(但显然不起作用)
在Django网站中设置主页的最佳方式是什么
谢谢 您可以使用通用视图功能:
# in your urls.py ...
...
url(r'^faq/$',
'django.views.generic.simple.direct_to_template',
{ 'template': 'faq.html' }, name='faq'),
...
如果您想引用静态页面(而不是经过任何动态处理),可以使用
django.views.generic.simple
中的direct\u to\u模板
查看功能。在您的URL配置中:
from django.views.generic.simple import direct_to_template
urlpatterns += patterns("",
(r"^$", direct_to_template, {"template": "index.html"})
)
(假设
index.html
位于一个模板目录的根目录下。)执行此操作的首选新方法是使用TemplateView
类。如果您想从direct\u移动到\u模板,请参见此
在主url.py
文件中:
from django.conf.urls import url
from django.contrib import admin
from django.views.generic.base import TemplateView
urlpatterns = [
url(r'^admin/', admin.site.urls),
# the regex ^$ matches empty
url(r'^$', TemplateView.as_view(template_name='static_pages/index.html'),
name='home'),
]
注意,我选择将任何静态页面链接index.html
放在templates/
目录中自己的目录static\u pages/
。以防有人搜索更新版本的答案
from django.urls import re_path
from . import views
urlpatterns = [
re_path(r'^$', views.index, name='index')
]
在您的视图中.py
def index(req):
return render(req, 'myApp/index.html')
此解决方案已被弃用。请参见下面ryanjdillonIt的回答中解释的首选方法中选择的答案不清楚这里的static\u pages/index.html
路径是什么。我无法复制此内容,它会导致“找不到模板”错误。我通过1)在主url.py
中设置app\u name='myapp'
,2)将myapp
添加到主settings.py
中安装的应用程序,3)将我的模板放置在myapp/templates/myapp/index.html
,解决了此问题,4)更新视图以使用template\u name='myapp/index.html'