2011-01-06 44 views
0

我是一位前端開發人員,他正在涉足Django以構建一個簡單的作品集站點來顯示我的工作。在我以前的工作中,我經常使用Django,但現在已經超過6個月了,不幸的是,我確實有舊的工作要查看。在Django中使用泛型視圖時的正則表達式問題

我的網站包括:

一個帶有鏈接的網頁,以精選「項目」 一個項目列表頁

我試圖把Django的通用視圖的優勢創造了後者一個項目詳細信息頁面2頁給我。但是,編輯我的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}), 
) 

項目列表視圖頁面成功導航到「/templates/project_list.html」當我鍵入URL的「http://本地主機:8000 /項目」。但是,如果我輸入'http:// localhost:8000/projects/htc-wildfire-facebook-application /'來查看「../templates/project_detail.html」頁面,我會看到一個404頁面,其中包含一個「No project found matching你的查詢「消息。

我認爲這很鼓舞人心,因爲它明顯尋找一個項目,但我認爲我的正則表達式可能是錯誤的。任何幫助將不勝感激。

感謝

詹姆斯

回答

0

你已經覆蓋從URL來跟你projects_detail_info字典裸值「塞」蛞蝓。從字典中刪除該條目。