0

我对 Django 中的 urls.py 有疑问。我正在从头开始构建一个博客,作为自己学习 Django 的一种方式。在主 urls.py 文件中,我指定了我的应用程序 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})

任何帮助表示赞赏。提前致谢..

4

2 回答 2

2

您使用了错误的指令;include()用于包含另一个包;当您使用该指令时,Django 将urls.py在包中查找 a 。myblog.views.getLatest

您想命名视图本身:

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

注意:没有include()被使用。

于 2013-06-29T17:41:11.863 回答
1

尝试更新这个:

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

对此:

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

include旨在读取另一个urls.py文件,您要在其中执行特定的视图功能。

于 2013-06-29T17:42:23.793 回答