python django urls.py 从 app 导入视图为 myviews
我可能对Python的导入功能理解得不太对。
我找到的大多数例子中的urls.py文件,都没有导入视图的语句。尤其是当它和一些附加包,比如rosetta或scribbler一起使用时。
urls.py
from django.conf.urls import patterns, include, url
from forum import urls as forum_urls
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^$', 'home.views.home', name='home'),
url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
url(r'^admin/', include(admin.site.urls)),
url(r'^rosetta/', include('rosetta.urls')),
url(r'^forum/', include(forum_urls)),
)
为什么我不能在没有include语句的情况下直接包含forum.urls呢?
在实验的时候,我发现了一些有趣的事情。当我通过./manage.py shell启动ipython,然后导入forum时,我可以输入forum.[tab]来进行自动补全,ipython会给我模型的补全,但不会给我视图的补全。我的
__init__.py
文件是空的,我有一个简单的models.py,也有一个简单的views.py。
那么,为什么这两个模块的表现会不一样呢?
1 个回答
0
在rosetta和scribbler的情况下,它们被添加到了settings.py文件的INSTALLED_APPS部分,所以它们大概就是通过这种方式被引入的。