2013-10-24 3 views
1

В настоящее время я изучаю Django, и я пытаюсь создать несколько страниц и подстраниц на моем сайте.Созданы страницы/подстраницы в Django

проект

urls.py:

из django.conf.urls импорта шаблонов, включают в себя, URL

urlpatterns = модели ('', URL (r'home /», включают в себя ('home.urls', пространство имен = 'дом')),
URL (r'about /», включают в себя ('about.views', пространство имен = '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') 

Далее я попытался создать о странице, но я получаю эту ошибку:

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')), 

бы непосредственно includeabout.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()

Я не совсем уверен, как создавать страницы или подстраницы и передовые методы для хорошо структурированного проекта. Может ли кто-нибудь дать мне некоторые предложения, пожалуйста? Спасибо!

ответ

2

В вашем проекте urls.py вы не можете включать файлы вида приложения в urlpatterns.

url(r'about/', include('about.urls', namespace = 'About_page')),) 

И об/urls.py

from django.conf.urls import patterns, url 
from about import views 

urlpatterns = patterns('', 
    url(r'^$', views.index, name = 'index'),) 

Если есть только один адрес в/о 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"), 
) 
+0

Это именно то, что я хотел! Спасибо!! = D – Liondancer

Смежные вопросы