django - app不在INSTALLED_APPS中,但其views.py正在运行

时间:2014-09-01 11:11:25

标签: python django

我有多个应用。我想根据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'),
)

startpage内的app1.views功能正常。

这是为什么?我错过了什么吗?

2 个答案:

答案 0 :(得分:3)

没有理由不这样做。视图可以来自任何地方,并且根本不需要在应用程序中:它们只需要从Python路径访问。

答案 1 :(得分:1)

转到不存在的网址(http://localhost:8000/ksjfklsdfj),django会给你一个有效的网址格式列表,也许会给你一个提示?

同样manage.py diffsettings为您提供Django看到的设置列表。如果你以某种方式混淆了某些东西,这也可能会告诉你。