我有一个Django项目,具有以下目录结构:Django的manage.py测试无法看到urls.py,虽然能的runserver
BaseDir
| manage.py
| configDir
\
| settings.py , urls.py, wsgi.py
|mainApp
\
|urls.py , views, models etc.
| tests
\
|urlTest.py
(如果上面是不明确的,有一个Django配置目录和mainApp目录中,mainApp有它自己的urls.py和测试目录,所有的目录都与初始化的.py Python模块)
,如果我跑
manage.py runserver
我得到了预期的应用程序,因为它应该在django服务器上运行。
但是运行
manage.py test
我得到以下
django.urls.exceptions.NoReverseMatch: Reverse for 'index' not found. 'index' is not a valid view function or pattern name.
测试如下:
[...]
class TestSth(BaseTest):
def setUp(self):
[some db setup such as users etc]
def test_get(self):
pprint.pprint(reverse('index'))
配置/ urls.py是:
from django.conf.urls import url, include
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^mainApp/', include('mainApp.urls')),
]
mainApp/urls.py是:
from django.conf.urls import url
from . import views
from django.contrib.auth import views as auth_views
app_name = 'app'
urlpatterns = [
#/app/
url(r'^$', views.IndexView.as_view(), name='index'),
[...]
可有人建议我在做什么错?这并没有太大的意义
这样做,谢谢 – ndp