有沒有一種方法可以編寫如下所示的url:unitedstates.com/state/city帶有基於類的django視圖嗎? 狀態視圖有一個slu and,並有一個狀態模型。 城市將是相同的。雖然我可以生成unitedstates.com/state或unitedstates.com/city,我不知道如何獲得unitedstates.com/state/city。基於類視圖的乾淨,基於名稱的網址
該文檔對我沒有幫助。我只是想出於好奇而知道。任何幫助或解釋提供將不勝感激。
謝謝。
有沒有一種方法可以編寫如下所示的url:unitedstates.com/state/city帶有基於類的django視圖嗎? 狀態視圖有一個slu and,並有一個狀態模型。 城市將是相同的。雖然我可以生成unitedstates.com/state或unitedstates.com/city,我不知道如何獲得unitedstates.com/state/city。基於類視圖的乾淨,基於名稱的網址
該文檔對我沒有幫助。我只是想出於好奇而知道。任何幫助或解釋提供將不勝感激。
謝謝。
是的,這可以做到。我在這裏給你一個例子。
定義你的模型:
class State(models.Model):
slug = models.SlugField()
class City(models.Model):
slug = models.SlugField()
state = models.ForeignKey(State)
定義你的觀點:
from django.views.generic import DetailView
from .models import City
class CityDetailView(DetailView):
def get_object(self):
city = City.objects.get(
slug=self.kwargs.get('city'),
state__slug=self.kwargs.get('state')
)
return city
最後,添加到您的urls.py:
from django.conf.urls import url
from .views import CityDetailView
urlpatterns = [
url(r'^(?P<state>\w+)/(?P<city>\w+)/$', CityDetailView.as_view()),
]
謝謝。我測試了它。有用。 – user2901792
你有什麼迄今所做? – v1k45
是的,當然這是可能的。你究竟在哪裏遇到麻煩? –