我有一個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