Проблемы с тегом шаблона django, {% url%} - PullRequest
2 голосов
/ 09 августа 2011

Здравствуйте. Я пытаюсь передать разные URL-адреса с моего сайта в шаблон.

Я думал, что это будет сделано с помощью этого в шаблоне

{% url myappname.module.views.urlfunction %}

но это возвращает ошибку, говоря, что "Caught AttributeError при рендеринге: объект 'str' не имеет атрибута 'regex'"

Я не уверен, что это значит. Я следовал этому примеру тег шаблона URL в шаблоне django

urlpatterns = patterns('',
url(r'^$', 'myappname.module.views.start'),

и это то, что я ввел в свой шаблон

{% url myappname.module.views.start %}

Я также попробовал эту комбинацию шаблонов URL и шаблонов, чтобы не использовать avial:

urlpatterns = patterns('',
url(r'^$', 'myappname.module.views.start', name="home"),

{% url "home" %}

Что я делаю не так?

Спасибо.

Ответы [ 3 ]

5 голосов
/ 09 августа 2011

В последнем примере вместо

{% url "home" %}

попробовать

{% url home %}

без кавычек

2 голосов
/ 23 мая 2013

добавьте следующую строку в верхней части шаблона:

{% load url from future %}

Он будет поддерживать шаблон

{% url "VIEW_NAME" args... %}
0 голосов
/ 22 февраля 2013

Со всей серьезностью, я бы рассмотрел , а не , используя схему {% url%} в django для простых случаев.Они предназначены для обеспечения некоторой гибкости, которой вы, вероятно, никогда не воспользуетесь, и они почти гарантированно потратят часы вашего времени, пытаясь понять, как сделать это «правильно».

Просто используйте действие= "/ login /" or action = "/ home /" и тратить сэкономленные часы на полезные вещи, например на написание кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...