django - 应用不在INSTALLED_APPS中但其views.py正在运行
我有多个应用程序,我想根据settings.py来运行它们,这意味着我有多个settings_x.py。我启动服务器的方式是这样的:
python manage.py runserver --settings=myproj.settings_1.py
比如说是app1。
如果我运行
python manage.py runserver
它应该使用默认的settings.py,因为我在INSTALLED_APPS
里没有定义任何应用,这样应该会报错,提示模块app1不存在,因为
#urls.py
urlpatterns = patterns('app1.views',#<---- app1 isn't in the settings.py
url(r'^$', 'startpage', name='startpage'),
)
但是它却进入了app1.views
里的startpage
函数。
这是为什么呢?我是不是漏掉了什么?
2 个回答
1
去一个不存在的网址(http://localhost:8000/ksjfklsdfj
),Django 应该会给你一份有效的网址模式列表,也许这能给你一些提示?
另外,使用 manage.py diffsettings
命令可以查看 Django 看到的设置列表。这也可能告诉你是否搞混了什么东西。
3
没有理由说它不行。视图可以来自任何地方,根本不一定要在一个应用程序里:只要能在Python的路径中找到它们就行。