带有Djang的Url参数

2024-09-30 10:33:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Django(1.9)中的url有问题

尝试了许多方法来解决它,但仍然是相同类型的错误

Reverse for 'elus' with arguments '()' and keyword arguments '{u'council': u'CFVU'}' not found. 1 pattern(s) tried: ['elus/(?P<council>[A-B]+)$']

实际代码如下:

查看:

class RepresentativeView(ListView):
    model = Representative
    template_name= 'lea/elus.html'
    context_object_name = 'represents'

    def get_queryset(self, council):

        return Representative.objects.filter(active=True).filter(council=council).order_by(order)

网址:

url(r'^elus/(?P<council>[A-B]+)$', views.RepresentativeView.as_view(), name='elus'),

模板:

{% url 'elus' council='CFVU' %}

我试过**kwargs和其他东西。它使用另一个函数中的**kwargs,url中的<pk>,我的查询基于id。但在这里,我找不到解决办法


Tags: django方法nameurl类型错误orderfilter
1条回答
网友
1楼 · 发布于 2024-09-30 10:33:04

你有[A-B]将只匹配字母A和B

如果只想匹配大写字母,可以执行以下操作:

url(r'^elus/(?P<council>[A-Z]+)$

或者,常用的方法是使用[\w-]+,它将匹配大写a-Z、小写a-Z、数字0-9、下划线和连字符:

url(r'^elus/(?P<council>[\w-]+)$

相关问题 更多 >

    热门问题