Невозможно отменить соответствие URL-адреса в форме изменения администратора - PullRequest
5 голосов
/ 25 марта 2012

Я прочитал много документов, перепробовал все и до сих пор не могу понять, почему мой шаблон возвращает Reverse для '' arguments '(1,)' и ключевое слово arguments '{}' not found.Пожалуйста, смотрите дамп ошибки здесь: http://dpaste.com/721187/

Тег, который я использую в шаблоне change_form.html: {% url pdfview 1%}

В классе FVatAdmin (admin.ModelAdmin) есть метод get_urls, которыйвыглядит следующим образом:

def get_urls(self):
    urls = super(FVatAdmin, self).get_urls()
    my_urls = patterns('',
       url(r'^view/(?P<id>\d+)', self.admin_site.admin_view(self.pdf_view), name="pdfview"),
       url(r'^js/calculate', self.admin_site.admin_view(self.calculate), name="calc"),
        )
    return my_urls + urls

Определенные выше url и pdfview работают просто отлично, но в некоторой степени не разрешаются с помощью {% url pdfview 1%} в шаблоне и с помощью обратного ('pdfview', args ={1}) в виде или через оболочку.

Я просто не могу понять, что я делаю неправильно.Я новичок в Джанго ... HELP:)

Ответы [ 2 ]

5 голосов
/ 25 марта 2012

Введите имя URL в кавычках.

{% url "admin:pdfview" 1 %}

ОБНОВЛЕНИЕ: это применимо только к Django 1.3 / 1.4, если:

 {% load url from future %}

1 голос
/ 25 марта 2012

Административные URL-адреса Django разделены именами, чтобы не конфликтовать с другими URL-адресами.

Попробуйте выполнить следующее {% url admin: pdfview 1%}

См. Это для деталей:

https://docs.djangoproject.com/en/1.4/topics/http/urls/#topics-http-reversing-url-namespaces

...