通过URL传递两个参数

时间:2017-12-18 23:48:04

标签: python django

我的模板中有这个链接:

<a href="{% url 'listings:listing_detail' name_initials=university.name_initials l_slug=list.l_slug %}" class="btn btn-primary">See More</a>

以下是我的应用网址:

from django.conf.urls import url
from listings import views

app_name = 'listings'

urlpatterns = [
    url(r'^$',views.UniversityListView.as_view(),name='universities'),
    url(r'^(?P<l_slug>[-\w]+)$',views.ListingView.as_view(),name='listing_detail'),
]

以下是我的观点:

class UniversityHomePageView(ListView):
    model = Listing
    context_object_name = 'listing'
    template_name_suffix = '_university_homepage'

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        context['university'] = University.objects.all()
        context['company'] = Company.objects.all()
        return context

我希望此链接转到商品详情页面,但它会给我一个错误:

NoReverseMatch at /tu/
Reverse for 'listing_detail' with keyword arguments '{'name_initials': '', 'l_slug': 'stafford-apartments'}' not found. 1 pattern(s) tried: ['(?P<name_initials>\\w+)/(?P<l_slug>[-\\w]+)$']

我不确定该怎么做。我想我需要将两个变量传递给视图,但如果我正在做的事情不正确,那么我对于该做什么感到有些迷失,我已经阅读了文档,但是我不知道该怎么做做不动。

使用Django 1.11。

0 个答案:

没有答案