Карта сайта django: не может передать переменную из URL - PullRequest
0 голосов
/ 09 февраля 2012

Я пытаюсь создать карту сайта в django с динамическим именем, которое я могу передать обратно в свой класс карты сайта. Кто-нибудь знает, как я могу сделать это в моем шаблоне URL?

URL должен выглядеть так: /modules-a.xml # where 'a' could be [a-z]

Это то, что я пытаюсь без успеха:

line 20: (r'^modules-(?P<arg>\w+)\.xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps': {'modules': ModuleSitemap(letter)}})

Ошибка:

Request Method:     GET
Request URL:    http://localhost:8000/modules-a.xml/
Django Version:     1.3.1
Exception Type:     NameError
Exception Value:    

name 'section' is not defined

Exception Location:     /Applications/xampp/xamppfiles/htdocs/myapp/myapp/../myapp/urls.py in <module>, line 20
Python Executable:  /Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python

Ответы [ 2 ]

0 голосов
/ 09 февраля 2012

В соответствии с рамкой карты сайта doc представление sitemap должно принимать section аргумент ключевого слова.

Полагаю, вам нужно переименовать arg в раздел в вашем URL:

(r'^modules-(?P<section>\w+)\.xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps': {'modules': ModuleSitemap(letter)}})
0 голосов
/ 09 февраля 2012

Я не уверен на 100%, но я думаю, что вы должны избежать '-'

изменить

line 20: (r'^modules-(?P<arg>\w+)\.xml$', 'django...

на

line 20: (r'^modules\-(?P<arg>\w+)\.xml$', 'django...
                    ^
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...