Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 18, 2012 17:39:11

S
Зарегистрирован: 2012-04-25
Сообщения: 62
Репутация: +  0  -
Профиль   Отправить e-mail  

reverse

Для вот такого url:

url(r'topic/(?P<pk>\d+)/$', TopicList.as_view(), name='posts_list'),

Как правильно пишется reverse?
Я пишу так:
reverse('posts_list', kwargs={'pk': 1})
И мне выдаётся ошибка:
Exception Type: ImproperlyConfigured
Exception Value:
The included urlconf named_views.urls doesn't have any patterns in it
Что не так?

Офлайн

#2 Окт. 18, 2012 18:20:50

S
Зарегистрирован: 2012-04-25
Сообщения: 62
Репутация: +  0  -
Профиль   Отправить e-mail  

reverse

Имеет ли какое-нибудь значение, что файл конфигурации импортируется в конфиг проекта url(r'^forum/', include('forum.urls')), ?

Офлайн

#3 Окт. 21, 2012 10:18:51

S
Зарегистрирован: 2012-04-25
Сообщения: 62
Репутация: +  0  -
Профиль   Отправить e-mail  

reverse

Сделал предельно проект, без всего лишнего, чтобы избежать ошибок, в итоге та же фигня

#urlconfig
from django.conf.urls import patterns, include, url
from reverse_test.views import DataView
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
    url(r'^admin/', include(admin.site.urls)),
    url(r'^reversetest/$', DataView.as_view(), name='reverse_test')
)

вьюшка:
# Create your views here.
from django.views.generic import ListView
from models import SimpleModel
from django.core.urlresolvers import reverse, reverse_lazy
class DataView(ListView):
    model = SimpleModel
    context_object_name = 'data_list'
    print reverse('reverse_test')

модели, на всяки случай
# models :D
# Create your models here.
from django.db import models
class SimpleModel(models.Model):
    data = models.CharField(max_length=1000)
    def __unicode__(self):
        return 'SimpleModel instance: %s' % self.data
Выдаёт ту же самую ошибку, пробовал проверять из консоли, но мне это ничего не сказало
>>> from django.db import models
>>> from reverse_test.models import SimpleModel
>>> from reverse_test.views import DataView
>>> from django.core.urlresolvers import reverse
>>> reverse('reverse_test')
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "C:\Python27\lib\site-packages\django\core\urlresolvers.py", line 476, in reverse
    return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs))
  File "C:\Python27\lib\site-packages\django\core\urlresolvers.py", line 363, in _reverse_with_prefix
    possibilities = self.reverse_dict.getlist(lookup_view)
  File "C:\Python27\lib\site-packages\django\core\urlresolvers.py", line 276, in reverse_dict
    self._populate()
  File "C:\Python27\lib\site-packages\django\core\urlresolvers.py", line 242, in _populate
    for pattern in reversed(self.url_patterns):
  File "C:\Python27\lib\site-packages\django\core\urlresolvers.py", line 332, in url_patterns
    raise ImproperlyConfigured("The included urlconf %s doesn't have any patterns in it" % self.urlconf_name)
ImproperlyConfigured: The included urlconf reverse_project.urls doesn't have any patterns in it
>>>

Что ещё копнуть можно?

Офлайн

#4 Окт. 21, 2012 10:27:22

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

reverse

ListView нужен параметр template_name или get_template_name. Если подобные параметры не указаны Джанга пытается найти шаблоны по имени вьюхи. Возможно трабла в этом.
Могу предположить еще, что приложение забыли поместить в INSTALLED_APPS



Офлайн

#5 Окт. 21, 2012 10:38:48

S
Зарегистрирован: 2012-04-25
Сообщения: 62
Репутация: +  0  -
Профиль   Отправить e-mail  

reverse

Шаблон лежит по соответствующему пути и работает нормально.
Если убрать строку print reverse('reverse_test') то всё работает, экземпляры модели добавляются через админ и отображаются в шаблоне по тому адресу по которому и должны.
Если во вьюхе попробовать использовать reverse('reverse_test') то вылазит эта ошибка:

Exception Type: ImproperlyConfigured
Exception Value:
The included urlconf named_views.urls doesn't have any patterns in it
Я просто пытаюсь задать параметр success_url.

Офлайн

#6 Окт. 24, 2012 08:18:12

svas
От:
Зарегистрирован: 2010-01-27
Сообщения: 239
Репутация: +  9  -
Профиль   Отправить e-mail  

reverse

Покажите полностью все urls.py



Офлайн

#7 Окт. 27, 2012 07:49:14

S
Зарегистрирован: 2012-04-25
Сообщения: 62
Репутация: +  0  -
Профиль   Отправить e-mail  

reverse

svas
Покажите полностью все urls.py
http://python.su/forum/topic/15871/?page=1#post-95190
Полнее некуда. Весь проект. Без строки print reverse('reverse_test') работает.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version