Форум сайта python.su
Доброго времени суток.
у меня встала задача: в связи с заливкой сайта на хостинг к ссылкам из 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),
)
from django.conf.urls.defaults import *
urlpatterns = patterns('',
(r'^django1/', include('mainurls')),
)
Офлайн
Конечно же префик надо добавлять на уровне веб-сервера. Ваш Django проект не должен зависить от префикса и должен работать при любом базовом пути.
Офлайн