首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将kwargs传递给Django URL和视图

将kwargs传递给Django URL和视图
EN

Stack Overflow用户
提问于 2017-06-09 21:09:23
回答 1查看 2.9K关注 0票数 2

我想通过URL将kwargs传递给我的视图函数。

urls.py

代码语言:javascript
复制
urlpatterns = [

# ------------- set relations --------------------
url(r'^approve-form/$', views.approve_form,
{'content_type':None, 'form_id':None,}, name='approve-form'),]

views.py

def approve_form(request, content_type=None, form_id=None): return HttpResponse('Working')

现在,我使用reverse_lazy函数调用模型实例的url

models.py

代码语言:javascript
复制
class FormStatus(models.Model):
    content_type = models.ForeignKey(ContentType)
    form_id = models.IntegerField(verbose_name='Form Ref ID')


    def __str__(self):
        return "{}".format(self.content_type)


    def get_approve_link(self):
        return  reverse_lazy("flow-control:approve-form", kwargs={'form_id':self.form_id,
                                                              'content_type':self.content_type})'

误差

代码语言:javascript
复制
Reverse for 'approve-form' with arguments '()' and keyword arguments '{'content_type': <ContentType: admin sanc model>, 'form_id': 12}' not found. 1 pattern(s) tried: ['flow-control/approve-form/$']

这种方法有什么问题吗?还是有更好的解决办法呢?

提前谢谢。

PS:我试过url文档,但搞不懂。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-09 22:11:01

把你的网址更改为并检查它是否有效-

代码语言:javascript
复制
   urlpatterns = [

   # ------------- set relations --------------------
  url(r'^approve-form/(?P<content_type>\w+)/(?P<form_id>\d+)/$', views.approve_form, name='approve-form'),]

视图

代码语言:javascript
复制
 def approve_form(request, content_type=None, form_id=None):
     return  HttpResponse('Working')
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44466732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档