2013-06-29 18 views
0

我有一個關於Django的urls.py的問題。我從頭開始構建一個博客,作爲學習Django的一種方式。在主要的urls.py文件中,我已經指定了包含我的應用程序的urls.py的路徑。在Django的urls.py拋出「找不到模塊」

from django.conf.urls import patterns, include, url 

# Uncomment the next two lines to enable the admin: 
from django.contrib import admin 
admin.autodiscover() 

urlpatterns = patterns('', 

    (r'^', include('myblog.urls')), 
) 

在應用程序(稱爲myblog),在urls.py內容如下:

from django.conf.urls.defaults import * 
from models import blogmodel 
from django.contrib import admin 

urlpatterns = patterns('', 
    (r'^login/', include(admin.site.urls)), 
    (r'^$', include('myblog.views.getLatest')), 

) 

其中getLAtest是我views.py功能。錯誤說無模塊命名getLatest

這裏是我的views.py,

from django.shortcuts import render_to_response 
from myblog.models import blogdb 

def getLatest(request): 
    post = blogdb.objects.all() 
    sorted_post = post.order_by('-served_date') 
    return render_to_response('blogs.html', {'posts':sorted_post}) 

任何幫助表示讚賞。在此先感謝..

+0

我會建議:從myblog.views導入getLatest然後改變你的模式(r'^ $',getLatest) –

回答

2

您正在使用錯誤的指令; include()用於包含另一個包;當您使用該指令時,Django將在包myblog.views.getLatest中查找urls.py

要命名的觀點本身,而不是:

urlpatterns = patterns('', 
    (r'^login/', include(admin.site.urls)), 
    (r'^$', 'myblog.views.getLatest'), 
) 

注:沒有include()正在使用。

+0

非常感謝,Martjin。這工作!我現在開始明白網址會更好一些。 :)感謝您的幫助和支持。 – rahuL

1

嘗試更新的:

urlpatterns = patterns('', 
    (r'^login/', include(admin.site.urls)), 
    (r'^$', include('myblog.views.getLatest')), 
) 

這樣:

urlpatterns = patterns('', 
    (r'^getLatest/$', 'myblog.views.getLatest'), 
) 

include意味着在另一個urls.py文件,其中你你想要執行特定視圖功能來讀取。