#django-templates
#django-templates
Вопрос:
Мое мнение :
def display(request):
feed = SoukFeedMaster.objects.filter(person = request.user)
return render(request, 'soukfeed/display.html', {'feed' : feed ,})
Мой шаблон :
{% extends "base.html" %}
{% block content %}
{% for x in feed %}
{% load url from future %}
<a href="{% url x.content.url_internal_django_link x.content.id %}"> {{x.content.content}} </a>
<br/>
{% endfor %}
{% endblock %}
Обратная трассировка :
Environment:
Request Method: GET
Request URL: http://localhost:8000/soukfeed/
Django Version: 1.3
Python Version: 2.7.1
Installed Applications:
['django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.comments',
'ec.kiosk',
'ec.chakra',
'ec.ajax',
'ec.broadcast',
'ec.connect',
'ec.seek_solutions',
'ec.feed',
'ec.ec_model',
'ec.info',
'ec.souk_info',
'ec.ec_central',
'ec.domains',
'ec.souk',
'ec.souk_feed',
'ec.meta',
'django.contrib.admin']
Installed Middleware:
('django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware')
Template error:
In template /volumes/disk2/workspace/templates/ec/soukfeed/display.html, error at line 1
Caught NoReverseMatch while rendering: Reverse for '' with arguments '(1,)' and keyword arguments '{}' not found.
1 : {% extends "base.html" %}
{% block content %}
{% for x in feed %}
{% load url from future %}
<a href="{% url x.content.url_internal_django_link x.content.id %}"> {{ x.content.content }} </a>
<br/>
{% endfor %}
{% endblock %}
Traceback:
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
111. response = callback(request, *callback_args, **callback_kwargs)
File "/Volumes/Disk2/workspace/ec/ec/souk_feed/views.py" in display
18. return render(request, 'soukfeed/display.html', {'feed' : feed ,})
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/shortcuts/__init__.py" in render
44. return HttpResponse(loader.render_to_string(*args, **kwargs),
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/template/loader.py" in render_to_string
188. return t.render(context_instance)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/template/base.py" in render
123. return self._render(context)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/template/base.py" in _render
117. return self.nodelist.render(context)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/template/base.py" in render
744. bits.append(self.render_node(node, context))
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/template/debug.py" in render_node
73. result = node.render(context)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/template/loader_tags.py" in render
127. return compiled_parent._render(context)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/template/base.py" in _render
117. return self.nodelist.render(context)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/template/base.py" in render
744. bits.append(self.render_node(node, context))
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/template/debug.py" in render_node
73. result = node.render(context)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/template/loader_tags.py" in render
64. result = block.nodelist.render(context)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/template/base.py" in render
744. bits.append(self.render_node(node, context))
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/template/debug.py" in render_node
73. result = node.render(context)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/template/defaulttags.py" in render
227. nodelist.append(node.render(context))
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/template/defaulttags.py" in render
450. raise e
Exception Type: TemplateSyntaxError at /soukfeed/
Exception Value: Caught NoReverseMatch while rendering: Reverse for '' with arguments '(1,)' and keyword arguments '{}' not found.
Комментарии:
1. отредактируйте свой пост, чтобы включить ваш urls.py и ваша модель для SoukFeedMaster
Ответ №1:
Только что была такая же проблема с моим приложением. Следующее решило это для меня:
Поскольку вы используете {% url %}
тег для генерации ссылки на представление, вам необходимо добавить URL-адреса для приложения в корневой модуль URLconf вашего проекта (через вызовы include()).) Если вы используете {% url %}
тег с именем URL, которое вы еще не настроили в своем проекте, он не сможет найти правильный URL и просто вернет пустую строку вместо URL.
Итак, в основном проблема в том, что URL, который вы ищете, должен быть в urls.py вашего проекта, иначе Django не сможет его найти и отследить.
Ответ №2:
Это действительно недостаточная информация. Но проблема здесь:
{% url x.content.url_internal_django_link x.content.id %}
Может быть, вам это нужно:
{% extends "base.html" %}
{% block content %}
{% for x in feed %}
<a href="{{ x.content.get_absolute_url }}"> {{x.content.content}} </a>
<br/>
{% endfor %}
{% endblock %}
Но я не уверен — это зависит от вашего модельного кода и вашей общей логики
Ответ №3:
Значение исключения: Поймано несоответствие во время рендеринга: обратное для «с аргументами ‘(1,)’ и аргументами ключевого слова ‘{}’ не найдено.
похоже, что ваш x.content.url_internal_django_link
возвращает пустую строку.
Проверьте свою базу данных или временно измените {% url %}
теги на:
{{ x.content.url_internal_django_link }}
чтобы увидеть, что сохранено и почему вы получаете пустые строки из базы данных.
Ответ №4:
Я получил тот же вывод исключения, в котором говорится, что не удается ‘(93L,)’ и аргумент ключевого слова не найден.
Проверьте urls.py , где вы можете видеть, что URL там не указан.Поэтому укажите URL, тогда вы не столкнетесь с этой ошибкой.
Ответ №5:
Другая возможность заключается в том, что строка регулярного выражения URL не соответствует вашему запросу.user.username