Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 17, 2011 23:09:53

Andrejus
От:
Зарегистрирован: 2011-03-22
Сообщения: 64
Репутация: +  1  -
Профиль   Отправить e-mail  

include не включает файл в urls

Доброго времени суток.

у меня встала задача: в связи с заливкой сайта на хостинг к ссылкам из urls.py надо как-то добавить префикс ‘django1/’.
Насколько я понимаю, для этого существует include. Для решения задачи оригинальный urls.py из директории проекта переименовал в mainurls.py (по имени единственного приложения - main):

from django.conf.urls.defaults import *
import settings
from django.contrib import admin
from django.contrib import auth
from django.contrib.auth.views import login, logout
from infoscope.main.views import home_page,\
about_page,\
reg_form_page ,\
abouttech_page,\
samples_index_page,\
sample_page ,\
contact_form, \
reg_form,\
my_logout
admin.autodiscover()
urlpatterns = patterns('',
(r'^admin/', include(admin.site.urls)),
(r'^$', home_page),
(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT}),
(r'^static/images/(?P<path>.*)$', 'django.views.static.serve', \
{'document_root': settings.STATIC_ROOT + '/images/'}),
(r'^static/images_mini/(?P<path>.*)$', 'django.views.static.serve', \
{'document_root': settings.STATIC_ROOT + '/images_mini/'}),
(r'^aboutme/$', about_page),
(r'^reg/$', reg_form) ,
(r'^abouttech/$', abouttech_page),
(r'^samples/$', samples_index_page) ,
(r'^samples/(\d+)/$', sample_page) ,
(r'^contacts/$', contact_form) ,
(r'^logout/$', my_logout),
)
а файл urls.py соответственно принял вид:
from django.conf.urls.defaults import *
urlpatterns = patterns('',
(r'^django1/', include('mainurls')),
)
Полагаю, что это должно разрешать ссылки типа /django1/contacts в просто /contacts, однако django игнорирует файл mainurls.py и в состоянии найти только выражение ‘django1/’.
У меня два вопроса.
1. Почему приведенная конструкция не работает
2. Как грамотно решить задачу, не прибегая к перечислению ссылок типа ‘django1/contacts’ ?



Офлайн

#2 Апрель 18, 2011 10:04:52

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

include не включает файл в urls

Конечно же префик надо добавлять на уровне веб-сервера. Ваш Django проект не должен зависить от префикса и должен работать при любом базовом пути.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version