2016-03-22 4 views
0

Я создал пользовательский индексный вид. urls.py:django-cms и интерфейс администратора confilct

url(r'^', include('cms.urls')), 
url(r'^', 'myapp.views.index', name='index'), 

в views.py:

from cms.utils import get_template_from_request 
def index(request): 
    template = get_template_from_request(request) 
    ..... 
    return render(request, template) 

Когда я пытаюсь получить доступ к Джанго администратора 127.0.0.1:8000/admin я получаю сообщение об ошибке

объект 'NoneType' не имеет атрибута «рк '

потому что в моем index.html есть templatetag {% product_list request.current_page %}, который требует, чтобы текущая страница была в запросе. Я думаю, что это происходит, потому что django отображает мою индексную страницу в admin django, где это не должно. Что я могу сделать, чтобы исправить это?

ответ

0

Я думаю, что самый простой способ исправить вашу проблему - включить URL-адреса админ-сайта перед этими «индексами» и «cms», как описано в the Django documentation site. Ваш URL шаблоны в файле urls.py будет что-то вроде этого:

... 
    url(r'^admin/', admin.site.urls), 
    url(r'^', include('cms.urls')), 
    url(r'^', 'myapp.views.index', name='index'), 
    ... 
+0

У меня это уже есть. Когда у меня не было 'url (r '^', 'myapp.views.index', name = 'index'),' все работало нормально. Также не меняется порядок имен 'index' и' cms'. –

0

Раньше я был url(r'^myapp/', include('myapp.urls')), изменен url(r'^', include('myapp.urls')) и он работает.

Смежные вопросы