【问题标题】:TypeError when passing dictionary arguments to a view through urls.py通过 urls.py 将字典参数传递给视图时出现 TypeError
【发布时间】:2010-11-18 12:51:10
【问题描述】:

我正在尝试使用字典将关键字参数传递给 Django 视图,但是当我尝试访问 URL 时一直遇到 TypeError(错误是:“add_business_contact() 得到了一个意外的关键字参数 'info_models' ”)。代码是:

urlpatterns = patterns('business.views',
    # ...
    url(r'^(?P<business_id>[\w\._-]+)/edit_contact$', 'add_business_contact', {
        'info_models': [Email, PhoneNumber, URL] }, name='business_contact'),
    # ...
)

以及对应的视图:

@login_required
def add_business_contact(request, business_id, *args, **kwargs):
    # ...
    info_models = kwargs.pop('info_models', None)
    # ....

如果我从 url() 函数中删除字典参数,它会很高兴地到达并运行视图(尽管不正确,因为它没有那个参数)。关于它为什么这样做的任何想法?如果有帮助的话,我正在学习 Django Book (http://djangobook.com/en/2.0/chapter08/) 中的一个示例。

【问题讨论】:

    标签: django django-urls


    【解决方案1】:

    哎呀。有点尴尬,但我在处理函数时复制/粘贴了函数,并没有重命名原始函数。它现在按预期工作......

    【讨论】:

      猜你喜欢
      • 2011-10-07
      • 1970-01-01
      • 1970-01-01
      • 2016-08-08
      • 1970-01-01
      • 1970-01-01
      • 2021-12-10
      • 2023-04-03
      • 2011-06-27
      相关资源
      最近更新 更多