TypeError при передаче аргументов словаря в представление через urls.py - PullRequest
2 голосов
/ 11 августа 2009

Я пытаюсь передать аргументы ключевого слова в представление Django, используя словарь, но я продолжаю сталкиваться с TypeError, когда пытаюсь получить доступ к URL (ошибка: «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 (), он счастливо достигает и запускает представление (хотя и неправильно, поскольку у него нет этого аргумента). Есть идеи, почему он это делает? Я следую примеру из Книги Джанго (http://djangobook.com/en/2.0/chapter08/), если это вообще поможет.

1 Ответ

1 голос
/ 11 августа 2009

Wooops. Немного неловко, но я скопировал / вставил функцию, работая над ней, и не переименовал оригинал. Он работает сейчас, как и ожидалось ...

...