2017-01-26 4 views
-1

Mein Problem ist, dass ich zur Zeit nicht in der Lage bin mit diesem Codes bestimmte Stelle zu verfolgen:Django Urls, Ansichten, regex Konfiguration für mehrere Parameter

in urls.py:

url(r'^class/(?P<class_name>[\w-]+)/(?P<subject_name>[\w-]+)/(?P<slug>[\w-]+)/$', highschool.lessonBasedHome, name='lesson_based_home'),  

in views.py :

def lessonBasedHome(request, class_name, subject_name, slug): 
    qs = Content.objects.filter(class_name__name = class_name, subject_name__name = subject_name) 
    qs1 = get_object_or_404(qs, slug = slug) 
    context = { 
       "qs1":qs1, 
       } 
    return render(request, 'lesson_based_home.html', context) 

in lesson_based_home.html:

{% block content_area %} 
{{qs1.title}} 
{% endblock content_area %} 

Aber ich weiß nicht, wo das Problem ist. Bitte helfen Sie.

+1

Nun, wenn Sie nicht wissen, welches Problem Sie haben, tun wir auch nicht. –

+0

Ich habe oben erwähnt, dass ich bestimmten Beitrag nicht verfolgen kann –

+0

Aber was bedeutet "bestimmten Beitrag verfolgen"? Was siehst du? Welchen Fehler bekommst du? Was passiert, sollte nicht oder sollte nicht passieren? Was fragst du? –

Antwort

2

Das [\w-]+ Muster entspricht einem oder mehreren (+) Zeichen, die entweder Buchstaben, Ziffern, Unterstrichen (\w) oder Bindestriche (-). Wenn der Unterpart ein anderes Symbol enthält, wird keine Übereinstimmung zurückgegeben.

Um das Muster weniger restriktiv zu machen, ersetzen Sie all [\w-]+ mit [^/]+, ein Muster, das ein oder mehr anderen Zeichen als / entspricht.