Поймано NoReverseMatch во время рендеринга: обратное для '' с аргументами '(1,)' и ключевыми словами аргументы '{}' не найдены - PullRequest
8 голосов
/ 13 апреля 2011

Мой взгляд:

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 %}

Traceback:

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.

Ответы [ 5 ]

7 голосов
/ 14 ноября 2011

Просто была такая же проблема с моим приложением.Для меня это решило следующее:

Поскольку вы используете тег {% url %} для создания ссылки на представление, вам необходимо добавить URL-адреса приложения в корневой модуль URLConf вашего проекта (с помощью include () звонки).Если вы используете тег {% url %} с URL-адресом, который вы еще не настроили в своем проекте, он не сможет найти правильный URL-адрес и просто возвратит пустую строку вместо URL-адреса.

Таким образом, в основном проблема в том, что URL, который вы ищете, должен быть в urls.py вашего проекта, в противном случае Django не сможет найти и отследить его.

1 голос
/ 13 апреля 2011

Это действительно не достаточно информации.Но проблема здесь:

{% 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 %}

Но я не уверен - это зависит от вашего кода модели и вашей общей логики

0 голосов
/ 19 апреля 2012

Другая возможность состоит в том, что строка URL регулярного выражения не совпадает с вашим request.user.username

0 голосов
/ 17 мая 2011

У меня вывод той же исключительной ситуации, в котором говорится, что не удалось выполнить '(93L,)', а аргумент ключевого слова не найден.

Проверьте urls.py, где можно увидеть, что URL-адрес там не указан. Так что укажите URL-адрес, тогда вы не перейдете к этой ошибке.

0 голосов
/ 13 апреля 2011

Значение исключения: поймано NoReverseMatch при рендеринге: обратный для '' с Аргументы '(1,)' и ключевые слова '{}' не найдено.

похоже, что ваш x.content.url_internal_django_link возвращает пустую строку.

Проверьте свою базу данных или временно измените теги {% url %} на:

{{ x.content.url_internal_django_link }}

чтобы увидеть, что хранится и почему вы получаете пустые строки из БД.

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