В моем браузере появляется сообщение "страница не перенаправляется должным образом". Я пытаюсь переместить приложение в подпапку другого приложения (потому что по логике это особый случай этого приложения).
Этот код вызывает l oop, но я делаю не понимаю, почему.
if administration_instance.study.instrument.form in ['CAT'] :
return redirect('cat_forms:administer_cat_form', hash_id=hash_id)
У моего основного urls.py есть эта строка:
url(r'^form/', include('cdi_forms.urls')),
У моего cdi_forms.urls
есть эта строка:
url(r'fill/(?P<hash_id>[0-9a-f]{64})/$', views.administer_cdi_form, name='administer_cdi_form'), #I've included this line because it is the url being called in the loop
path('cat/', include(('cdi_forms.cat_forms.urls', 'cat_forms'), namespace="cat_forms")),
И мой cdi_forms.cat_forms.urls
имеет
path('fill/<hash_id>/', views.AdministerAdministraionView.as_view(), name='administer_cat_form'),
Это генерирует URL /form/cat/fill/614764fa0f135073bc6166ab560882da3a4ed674fcd7f05030583daa1e637230/
, который является правильным, но он вызывает начальную функцию, которая находится по адресу /form/fill/614764fa0f135073bc6166ab560882da3a4ed674fcd7f05030583daa1e637230/
. Разница заключается в включении cat
в первом.
Почему это зацикливание?
EDIT В соответствии с запросом полный список URL в cdi_forms (и я ' мы также включили полный список для cat_forms).
cdi_forms.urls.py
urlpatterns = [
url(r'demo/English_WS$', views.cdi_form, name='cdi_form'),
url(r'background/(?P<pk>[0-9]+)/$', views.BackgroundInfoView.as_view(), name='background-info'),
url(r'background-create/(?P<study_id>[0-9]+)/bypass/$', views.CreateBackgroundInfoView.as_view(), {'bypass':True}, name='create-new-background-info'),
url(r'background-create/(?P<study_id>[0-9]+)/$', views.CreateBackgroundInfoView.as_view(), {'bypass':None}, name='create-new-background-info'),
url(r'background-backpage/(?P<pk>[0-9]+)/$', views.BackpageBackgroundInfoView.as_view(), name='backpage-background-info'),
url(r'fill/(?P<hash_id>[0-9a-f]{64})/$', views.administer_cdi_form, name='administer_cdi_form'),
url(r'save_answer/$', views.save_answer, name='save_answer'),
url(r'group/(?P<username>[^/]+)/(?P<study_group>[a-zA-Z0-9-_]+)/$', views.find_paired_studies, name='find_paired_studies'),
url(r'contact/(?P<hash_id>[0-9a-f]{64})/$', views.contact, name='contact'),
url(r'update_administration_data_item/$', views.update_administration_data_item, name="update-administration-data-item"),
url(r'administraion-pdf-view/(?P<pk>[0-9]+)/$', views.PDFAdministrationDetailView.as_view(), name="administration-pdf-view"),
url(r'administraion-view/(?P<pk>[0-9]+)/$', views.AdministrationDetailView.as_view(), name="administration-view"),
path('cat/', include(('cdi_forms.cat_forms.urls', 'cat_forms'), namespace="cat_forms")),
]
cdi_forms.cat_forms.urls.py
urlpatterns = [
path('background/<int:pk>/', views.CATBackgroundInfoView.as_view(), name='background-info'),
path('background-create/<int:study_id>/bypass/', views.CreateBackgroundInfoView.as_view(), {'bypass':True}, name='create-new-background-info'),
path('background-create/<int:study_id>/', views.CreateBackgroundInfoView.as_view(), {'bypass':None}, name='create-new-background-info'),
path('background-backpage/<int:pk>/', views.CATBackpageBackgroundInfoView.as_view(), name='backpage-background-info'),
path('fill/<hash_id>/', views.AdministerAdministraionView.as_view(), name='administer_cat_form'),
]
РЕДАКТИРОВАТЬ 2
Добавлены основные URL
urlpatterns = [
url(r'^$', TemplateView.as_view(template_name="researcher_UI/home.html")),
url(r'^favicon\.ico', RedirectView.as_view(url='/static/images/favicon.ico', permanent=True)),
url(r'^robots\.txt', RedirectView.as_view(url='/static/robots.txt', permanent=True)),
url(r'^wcadmin/', admin.site.urls),
url(r'^form/', include('cdi_forms.urls')),
#path('cat/', include(('cdi_forms.cat_forms.urls', 'cat_forms'), namespace="cat_forms")),
url(r'^accounts/login/$', auth_views.LoginView.as_view(), {'template_name': 'registration/login.html'}),
url(r'^accounts/logout/$', auth_views.LogoutView.as_view(), {'next_page': 'interface/'}),
url(r'^accounts/profile/$', RedirectView.as_view(url='/interface/', permanent=False), name='interface'),
url(r'interface/', include('researcher_UI.urls')),
url(r'^registration/', include('registration.urls')),
url(r'^lockout/$', TemplateView.as_view(template_name="registration/lockout.html")),
url(r'^health/?', include('health_check.urls')),
url(r'^ckeditor/', include('ckeditor_uploader.urls')),
]