【发布时间】:2011-01-06 17:26:55
【问题描述】:
我是一名前端开发人员,目前正在涉足 Django,以构建一个简单的作品集网站来展示我的作品。我在以前的工作中经常使用 Django,但现在已经超过 6 个月了,不幸的是我确实有旧工作要查看。
我的网站包括:
带有特色“项目”链接的主页 项目列表页面 项目详情页
我正在尝试利用 Django 的通用视图为我创建后两个页面。但是,我在编辑 urls.py 文件时遇到了问题。这里是:
from django.conf.urls.defaults import *
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
from django.conf import settings
admin.autodiscover()
from django.views.generic import list_detail
from homepage.models import Project
projects_list_info = {
'queryset' : Project.objects.all(),
'allow_empty': True,
'template_name' : '../templates/project_list.html',
}
projects_detail_info = {
'queryset' : Project.objects.all(),
'template_object_name' : 'project',
'slug' : 'slug',
'slug_field' : 'slug',
'template_name' : '../templates/project_detail.html',
}
urlpatterns = patterns('',
# Example:
# (r'^howelltocode/', include('howelltocode.foo.urls')),
# Uncomment the admin/doc line below to enable admin documentation:
# (r'^admin/doc/', include('django.contrib.admindocs.urls')),
# Uncomment the next line to enable the admin:
(r'^admin/', include(admin.site.urls)),
(r'^test','homepage.views.viewTest'),
(r'^$','homepage.views.viewHome'),
(r'projects/$', list_detail.object_list, projects_list_info),
(r'^projects/(?P<slug>[-\w]+)/$', list_detail.object_detail, projects_detail_info),
(r'^site_media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),
)
当我输入 url 'http://localhost:8000/projects' 时,项目列表视图页面成功导航到 '/templates/project_list.html'。但是,如果我输入“http://localhost:8000/projects/htc-wildfire-facebook-application/”来查看“../templates/project_detail.html”页面,我会得到一个 404 页面,其中显示“没有找到匹配的项目”您的查询”消息。
我认为这很令人鼓舞,因为它显然正在寻找一个项目,但我认为我的正则表达式可能是错误的。任何帮助将不胜感激。
谢谢
詹姆斯
【问题讨论】:
标签: regex django django-views generics