Ich bin zum ersten Mal in Django plantschen und ich bin in einem einzigen Problem stecken und es macht mich verrückt. Ich versuche, eine Reihe von Seiten mit einer hierarchischen URL wie diese www.example.com/{state}/{county}
zu erstellen. Im Grunde ist das Problem, das ich habe, dass ich www.example.com/{state}
bekommen kann, aber ich weiß nicht, wie man das URL-System im django benutzt, um den Staat zur Staats-/Grafschaftseite zu tragen. Was ich am Ende immer ist www.example.com//{county}
Erstellen von hierarchischen URLs in Django
urls.py
app_name = 'main'
urlpatterns = [
url(r'^$', views.index, name='index'),
url(r'^(?P<pk>[A-Z]{2})/$', views.StateView.as_view(), name='state'),
url(r'/(?P<pk>[a-zA-Z]*)/$', views.CountyView.as_view(), name='county'),
]
views.py
def index(request):
return render(request, 'main/index.html', {})
class StateView(generic.ListView):
template_name = 'main/state.html'
context_object_name = 'county_list'
def get_queryset(self):
counties = [ // list of a couple counties for testing purposes]
return counties
class CountyView(generic.ListView):
template_name = 'main/county.html'
context_object_name = 'water_list'
def get_queryset(self):
return WaWestern.objects.filter(water_name__contains='Orange') // hard coded for easy testing
index.html
diese Datei groß ist, so zeige ich nur ein Beispiel für eine von meinem Zustand Verbindungen
<a id="s06" href="CA">
state.html
{% if county_list %}
<ul>
{% for county in county_list %}
<li><a href="{% url 'main:county' county %}">{{ county }}</a></li>
{% endfor %}
</ul>
{% else %}
<p>No counties were found.</p>
{% endif %}
Ich weiß, dies alles durch das Hinzufügen einer Spalte in meinem db für den Staat gelöst werden kann, aber ich bin 100% sicher, dass dies recht einfach gelöst werden kann, ich bin nur nicht sicher, wie
Vielen Dank für Ihre Antwort müssen, was genau brauche ich in meinen Ansichten/Templates ändern? Sind nicht und nur Platzhalter für Variablen, die übergeben werden? –
jlee
Eigentlich tun sie nicht ein bisschen mehr. Die Ansicht ruft das Argument ab, das Sie für die Abfragegruppenfilterung usw. verwenden würden. Diese Antwort finden Sie beispielsweise unter http://stackoverflow.com/questions/15754122/url-parameters-and-logic-in-django-class-. based-views-templateview – karthikr
nach ein bisschen Basteln konnte ich dies zur Arbeit zu bringen, danke! – jlee