我有一个网站设置与Django框架。我想网址作为本网站映射为部分如下:Django多个应用程序和urls.py
www.site.com -> main.html
www.site.com/ -> main.html
www.site.com/projects -> projects.html
www.site.com/projects/ -> projects.html
www.site.com/projects/web -> web.html
www.site.com/projects/web/ -> web.html
www.site.com/projects/mobile -> mobile.html
www.site.com/projects/mobile/-> mobile.html
www.site.com/projects/whatev -> 404.html
www.site.com/projects/whenev -> 404.html
www.site.com/projects/web/w -> 404.html
我目前拥有的主要站点设置了与自己的URL的Django应用程序,并设置为网站的项目部分的自己的应用。映射如下:
网站/ urls.py
urlpatterns = [
url(r'^$', portfolio_views.about_page, name = "aboutPage"),
url(r'^about$', portfolio_views.about_page, name = "aboutPage"),
url(r'^experience$', portfolio_views.experience_page, name = "experiencePage"),
url(r'^projects', include('projectsApp.urls')),
url(r'^projects/', include('projectsApp.urls')),
url(r'^publications$', portfolio_views.publications_page, name = "publicationsPage"),
url(r'^qualifications$', portfolio_views.qualifications_page, name = "qualificationsPage"),
url(r'^contact$',portfolio_views.contact_page, name="contactPage"),
url(r'^submitted$', portfolio_views.contact_submitted_page, name = "submittedPage"),
url(r'^admin/', admin.site.urls),
]
对于项目的应用程序:
项目/ urls.py
urlpatterns = [
url(r'^$', views.projects_page, name='projectPage'),#site/projects
url(r'^web$',views.web_project, name='webProject') #site/projects/web
]
目前以下网址收益率:
www.site.com -> main.html
www.site.com/ -> main.html
www.site.com/whatever -> 404.html (with css formatting)
www.site.com/projects -> projects.html
www.site.com/projects/ -> projects.html (without css formatting)
www.site.com/projects/web -> 404.html (without css formatting)
www.site.com/projects/web/ -> 404.html (without css formatting)
www.site.com/projects/web/whatev -> 404.html (without css formatting)
网站应用程序中的/ static/dir中存在css格式。
我不知道为什么,给定我的url模式,我无法从项目应用程序中获取/ web。在我的projects.html文件中,我有一个链接将web.html引用为'projects/web',它产生404.html。我是否需要始终链接主应用程序之外的绝对地址?即任何在项目应用程序中作为www.site.com/projects/link提供的文件?