【问题标题】:Created pages/subpages in Django在 Django 中创建的页面/子页面
【发布时间】:2013-11-02 19:16:36
【问题描述】:

我目前正在学习 Django,我正在尝试在我的网站上创建一些页面和子页面。

项目

urls.py:

从 django.conf.urls 导入模式,包含,url

urlpatterns = 模式('', 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')

接下来我尝试创建一个关于页面,但出现此错误:

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。但是我错了,因为这从未在about/views.py 中调用我的index() 函数

我后来把pub_pic/urls.py中的url()改成了:

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

但是我收到了这个错误:

Exception Value:    
No module named index

我认为这是因为只有 about.views 是一个模块,而不是 index()

我不太确定如何为结构良好的项目创建页面或子页面以及最佳实践。有人可以给我一些建议吗?谢谢!

【问题讨论】:

    标签: python django


    【解决方案1】:

    在您的项目 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中只有一个url,那么可以直接放到项目的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"),
    )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-23
      • 2018-01-30
      • 2011-03-31
      • 2015-09-22
      • 1970-01-01
      • 1970-01-01
      • 2013-02-16
      • 1970-01-01
      相关资源
      最近更新 更多