저는 장고 - 린 (django-lean) 앱을 프로젝트에 추가하려고했습니다. django-lean 앱이 현재 작업중인 프로젝트에 없으며 PYTHONPATH에 있습니다.Django 프로젝트 URL을 장고 테스트 클라이언트에서 모두 사용할 수없는 이유는 무엇입니까?
장고 리기 테스트를 통과하지 못했습니다.
urls = 'django_lean.experiments.tests.urls'
가장 잘 나는, 테스트는 URL이 위치하고지고 말할 수 @ 'django_lean.experiments.tests.urls'
문제가 테스트 케이스가 URL의 값을 정의하는 것 같다 , 나머지 프로젝트의 URL은 이 아닙니다.
NoReverseMatch: Reverse for 'index' with arguments '()' and keyword arguments '{}' not found.
이이 프로젝트에 {%의 URL %} 템플릿 태그에 의해 트리거됩니다
이
은 같은 오류 메시지를 일으키는 것입니다.프로젝트의 모든 URL을 테스트에 사용할 수 있도록하려면 어떻게해야합니까?
편집 : 누군가가 나에게 눈에 보이는 URL을 인쇄하는 스크립트를 보여 주었다 :
ipdb> import urls
ipdb> show_urls(urls.urlpatterns)
^test-experiment/(?P<experiment_name>.*)$
^test-clientsideexperiment/(?P<experiment_name>.*)$
^admin/
^(?P<experiment_name>.+)/$
^$
^main-app/
^goal/(?P<goal_name>.*)$
^confirm_human/$
이이에 해당
import urls
def show_urls(urllist, depth=0):
for entry in urllist:
print " " * depth, entry.regex.pattern
if hasattr(entry, 'url_patterns'):
show_urls(entry.url_patterns, depth + 1)
내가 ipdb 에서이 스크립트를 호출을이 출력했다 @ django_lean.experiments.tests.urls '에있는 URL은
urlpatterns = patterns('django_lean.experiments.tests.views',
url(r'^test-experiment/(?P<experiment_name>.*)$', 'experiment_test'),
url(r'^test-clientsideexperiment/(?P<experiment_name>.*)$', 'clientsideexperiment_test'))
urlpatterns += patterns('',
url(r'^admin/', include('django_lean.experiments.admin_urls')),
url(r'^main-app/', include('django_lean.experiments.urls')),
내가 겪고있는 문제는 프로젝트의 다른 응용 프로그램에서 명명 된 URL 때문에 URL 테스트 태그가 테스트에 액세스 할 수 없다는 이유로 호출이 실패했기 때문입니다.
내가 장고 1.2.1
글쎄, 기본적으로 장고 프로젝트 URL을 사용합니다. –
나는 주석 처리를 시도했다 : # urls = 'django_lean.experiments.tests.urls' 나는 여전히 같은 오류가있다. – BryanWheelock