我目前正在学习Django,我正在尝试在我的网站上创建几个页面和子页面。
项目
urls.py:
来自django.conf.urls导入模式,include,url
urlpatterns = patterns('',
url(r'home /',include('home.urls',namespace ='home')),
url(r'about /',include('about.views',namespace ='About_page')),
)
我首先创建一个主页:
urls.py:
from django.conf.urls import patterns, url
from home import views
urlpatterns = patterns('',
url(r'^$', views.index, name = 'index'),
views.py:
from django.http import HttpResponse
from django.template import RequestContext, loader
from django.shortcuts import render, render_to_response
def index(request):
return render(request,'homepage_template/home.html')
接下来我尝试创建一个about页面,但是我收到了这个错误:
Exception Type: ImproperlyConfigured
Exception Value:
The included urlconf <module 'about.views' from '/home/bradford/Development/Django/pub_pic/about/views.pyc'> doesn't have any patterns in it
这就是我的应用程序的样子:
from django.http import HttpResponse
from django.template import RequestContext, loader
from django.shortcuts import render, render_to_response
def index(request):
return render(request,'About_template/about.html')
我没有urls.py,但我认为该行
url(r'about/', include('about.views', namespace = 'About_page')),
直接include
about.views
。但是我错了,因为这从未在index()
about/views.py
函数
我后来将url()
中的pub_pic/urls.py
更改为:
url(r'about/', include('about.views.index', namespace = 'About_page')),
但我收到了这个错误:
Exception Value:
No module named index
我认为这是因为只有about.views
是一个模块,而不是index()
我不太确定如何为结构良好的项目创建页面或子页面以及最佳实践。有人可以给我一些建议吗?谢谢!
答案 0 :(得分:2)
在您的项目urls.py中,您无法在urlpatterns
中添加应用程序的视图文件。
url(r'about/', include('about.urls', namespace = 'About_page')), )
在about / urls.py
中from django.conf.urls import patterns, url
from about import views
urlpatterns = patterns('',
url(r'^$', views.index, name = 'index'),)
如果/ about / urls.py中只有一个网址,那么你可以直接把它放在项目的urls.py中。
from django.conf.urls import patterns, include, url
urlpatterns = patterns('',
url(r'home/', include('home.urls', namespace = 'home')),
url(r'^about/$', 'about.views.index', name="About_page_index"),
)