Я разработчик внешнего интерфейса, в настоящее время работающий над Django, чтобы создать простой сайт-портфолио для демонстрации моей работы. Я довольно часто использовал Django на своей предыдущей работе, но сейчас прошло более 6 месяцев, и, к сожалению, у меня есть старая работа, которую я могу просмотреть.
Мой сайт состоит из:
Домашняя страница со ссылками на избранные "проекты"
Страница со списком проектов
Страница сведений о проекте
Я пытаюсь использовать Generic Views в 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://localhost:8000/projects'. Однако, если я набираю« http://localhost:8000/projects/htc-wildfire-facebook-application/', чтобы просмотреть страницу «../templates/project_detail.html» Я получаю страницу 404 с сообщением «Не найден проект, соответствующий вашему запросу».
Я считаю это обнадеживающим, так как оно явно ищет проект, но я думаю, что мое регулярное выражение может быть неправильным. Любая помощь будет принята с благодарностью.
Спасибо
Джеймс