Django urls,views,regex配置多个参数

时间:2017-01-26 10:00:47

标签: python regex django django-views django-urls

我的问题是,我目前无法使用这些代码跟踪特定帖子:

在urls.py中

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

在lesson_based_home.html中:

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

但我不知道问题出在哪里。请帮忙。

1 个答案:

答案 0 :(得分:2)

[\w-]+模式匹配一​​个或多个(+)字符,这些字符可以是字母,数字,下划线(\w)或连字符(-)。每当子部分包含任何其他符号时,都不会返回任何匹配。

要使图案限制性较小,请将所有[\w-]+替换为[^/]+,该图案与/以外的一个或多个字符匹配。