Товарищи форумчане. 3 битых часа не могу понять чего меня откидывает в начало цепочки. Проблема возникла на этапе открытия карты договора (откидывает на страницу выбора клиента, а в адресной строке при этом: http://localhost:8000/client/2/dogtechohrana/3/).
До включения в цепочку base.urls - всё работало, но имело такой путь:
http://localhost:8000/client/2/ - путь до карты клиенты
http://localhost:8000/dogtechohrana/3/ - путь до карты договора клиента
http://localhost:8000/dogtechohrana/3/objtechohrana/6/ - путь до одного объекта договора клиента
А должно быть так:
http://localhost:8000/client/2/ - путь до карты клиенты
http://localhost:8000/client/2/dogtechohrana/3/ - путь до договора клиента
http://localhost:8000/client/2/dogtechohrana/3/objtechohrana/6/ - путь до одного объекта договора клиента
Это корпоративное приложение и доступа из вне не будет, потому "открытая" такая цепочка не страшна.
bills.urls.py
from django.conf.urls import include, url
from django.contrib import admin
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^', include('base.urls')),
]
base.urls.py
from django.conf.urls import include, url, patterns
urlpatterns = patterns('',
url(r'^client/(?P<filial_id>\d+)/dogtechohrana/$', 'dog_techohrana.views.base_data_dogtechohrana'),
url(r'^client/(?P<filial_id>\d+)/$', 'base.views.client'),
url(r'^', 'base.views.home'),
)
dog_techohrana.urls.py
from django.conf.urls import include, url, patterns
urlpatterns = patterns('',
url(r'^(?P<dogtechohrana_id>\d+)/objtechohrana/(?P<objtechohrana_id>\d+)/$', 'dog_techohrana.views.base_data_objtechohrana'),
url(r'^(?P<dogtechohrana_id>\d+)/page/(?P<page_id>\d+)/$', 'dog_techohrana.views.base_data_dogtechohrana'),
url(r'^(?P<dogtechohrana_id>\d+)/$', 'dog_techohrana.views.base_data_dogtechohrana'),
)
dog_techohrana.views.py
def base_data_dogtechohrana(request, filial_id=1, dogtechohrana_id=1, page_id=1):
dogovor_form = base_data_dog
args = {}
args.update(csrf(request))
all_object = DogTechOhranaObject.objects.filter(DogTechOhranaDogId_id=dogtechohrana_id)
current_page = Paginator(all_object,20)
args['DogTechOhran'] = DogTechOhranaDogovor.objects.get(id=dogtechohrana_id)
args['Filial'] = FilialClienta.objects.filter(id=filial_id)
args['Objects'] = current_page.page(page_id)
args['form_dog'] = dogovor_form
return render_to_response('dog_techohrana.html', args)
def base_data_objtechohrana(request, filial_id=1, objtechohrana_id=1, dogtechohrana_id=1):
object_form = base_data_obj
args = {}
args.update(csrf(request))
args['ObjTechOhran'] = DogTechOhranaObject.objects.get(id=objtechohrana_id)
args['Filial'] = FilialClienta.objects.filter(id=filial_id)
#args['historiObj'] = .objects.get(id=objtechohrana_id)
args['DogTechOhran'] = DogTechOhranaDogovor.objects.get(id=dogtechohrana_id)
args['form_obj'] = object_form
return render_to_response('obj_techohrana.html', args)