1

私は現在 Django を学んでおり、自分のサイトにいくつかのページとサブページを作成しようとしています。

事業

urls.py:

django.conf.urls からインポート パターン、インクルード、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'),

ビュー.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

これは私のaboutアプリがどのように見えるかです:

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()inpub_pic/urls.pyを次のように変更しました。

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

しかし、私はこのエラーが発生しました:

Exception Value:    
No module named index

about.viewsこれはモジュールのみであり、モジュールではないという事実が原因であると思いますindex()

ページまたはサブページを作成する方法と、よく構造化されたプロジェクトのベスト プラクティスがよくわかりません。誰かが私にいくつかの提案をお願いできますか?ありがとうございました!

4

1 に答える 1

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 に URL が 1 つしかない場合は、プロジェクトの 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"),
)
于 2013-10-24T07:50:05.313 に答える