Ich habe zwei Modelle - eins für Werkzeuge und eins für Teile. Die Listenseite ist identisch. Kann ich filtern, was in der Vorlage basierend auf der URL angezeigt wird?Filter Django Queryset basierend auf URL Parameter
Ansichten(Ich möchte TOOL_LIST kombinieren und part_list in product_list)
def tool_list(request):
tools = Tool.objects.all()
parts = Part.objects.all()
return render(request, 'tool_list.html', {'tools': tools, 'parts': parts})
def part_list(request):
parts = Part.objects.all()
tools = Tool.objects.all()
return render(request, 'tool_list.html', {'parts': parts, 'tools': tools})
def product_detail(request, **kwargs):
tool = get_object_or_404(Tool, slug=kwargs.get('slug'))
part = get_object_or_404(Part)
return render(request, 'product_detail.html', {'tool': tool, 'part': part})
url
urlpatterns = [
url(r'^products/tools/$', tool_list, name='tool_list'),
url(r'^products/parts-supplies/$', part_list, name='part_list'),
url(r'^products/(?P<category>[^\.]+)/(?P<slug>[^\.]+)/$', product_detail, name='product_detail'),
]
Wollen Sie zwei verschiedene URLs für eine einzelne Ansicht? – v1k45
Ja, ich möchte 'Produkte/Werkzeuge ...' und 'Produkte/Teile-Zubehör ...' aber die gleiche Ansichtsvorlage verwenden. Und in der 'URL' wäre das Abfrage-Set entweder Werkzeuge oder Teile. Jetzt, wo ich darüber nachdenke, könnte ich dazu nur bedingte Anweisungen in meine Vorlage schreiben, um nach URLs zu suchen. –