У моєму шаблоні:
<a href="{% url x.content.url_internal_django_link x.content.id %}">
{{x.content.content}} </a>
x.content.url_django_link = "search_detail" у db
Коли я вручну ввожу назву URL-адреси в такий шаблон, він не показує помилок,
<a href="{% url seek_detail x.content.id %}">
{{x.content.content}} </a>
Модель:
class SoukFeedContent(models.Model):
content = models.CharField(max_length = 400)
url_internal_django_link = models.CharField(max_length = 30, blank = True)
link_id = models.IntegerField(null = True, blank = True)
Відповіді:
3 для відповіді № 1в {% url %}
це вбудований тег шаблону, який:
Повертає задану абсолютну відповідність URL-адреси перегляд з його параметрами.
Проходячи його x.content.url_internal_django_link
, ви говорите йому шукати вид з назвою url_internal_django_link
всередині додатка x, визначеного у файлі content.py. Не вдаряється db для значення рядка.
Вам, мабуть, слід просто визначити get_absolute_url
у вашій моделі та мати своє посилання як
models.py:
class SoukFeedContent(models.Model):
content = models.CharField(max_length = 400)
link_id = models.IntegerField(null = True, blank = True)
@models.permalink
def get_absolute_url(self):
return ("seek_detail", [str(self.id)])
шаблон: якщо припустити, що x.content є примірником вашої моделі SoukFeedContent
<a href="{{ x.content.get_absolute_url }}">
1 для відповіді № 2
Подивись на нотатки до випуску django 1.3.
Це можна записати наступним чином у django 1.3:
{% load url from future %}
<a href="{% url x.content.url_internal_django_link x.content.id %}">
{{x.content.content}} </a>