我試圖使用一個應用程序來滿足多個URL路徑。也就是說,我想讓網址/blog/
和/job/
使用相同的應用程序,但使用不同的視圖。有很多方法可以做到這一點我相信,但沒有一個看起來很乾淨。下面是我在做什麼,現在如何使用一個應用程序來滿足多個URL在Django
# /urls.py
urlpatterns = patterns("",
(r"^(blog|job)/", include("myproject.myapp.urls")),
)
# /myapp/urls.py
urlpatterns = patterns("myproject.myapp.views",
(r"^(?P<id>\d+)/edit/$", "myproject.myapp.views.edit"),
(r"^(?P<id>\d+)/delete/$", "myproject.myapp.views.delete"),
(r"^(?P<id>\d+)/update/$", "myproject.myapp.views.update"),
(r"^insert/$", "myproject.myapp.views.insert"),
)
urlpatterns += patterns("",
(r"^(?P<object_id>\d+)/$", "django.views.generic.list_detail.object_detail", info_dict, "NOIDEA-detail"),
(r"^/$", "django.views.generic.list_detail.object_list", info_dict, "NOIDEA-community"),
)
# /myapp/views.py
def edit(request, type, id):
if (type == "blog"):
editBlog(request, id)
else (type == "job")
editJob(request, id)
def editBlog(request, id):
# some code
def editJob(request, id):
# some code
我已經結束了斷這一切到多個模型和視圖文件,使代碼更加清晰,但上述例子不佔之類的反向鏈接查找其打破我的所有模板{% url %}
調用。
最初,我有博客,工作,活動,比賽等都生活在自己的應用程序,但他們的所有功能是如此相似,以至於沒有道理離開它,所以我試圖結合他們......這發生了。你在我的通用視圖中看到那些「NOIDEA-detail」和「NOIDEA-community」的網址名稱?是的,我不知道該用什麼方法:-(