1

可能我不正确理解 Python 导入。

我发现的大多数示例 urls.py 文件都没有视图的导入语句。特别是结合 contrib 包,如 Rosetta 或 scribbler。

网址.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)),
)

为什么我不能在没有包含语句的情况下也包含 forum.urls?

在进行实验时,我发现了一些有趣的东西。当我使用 ./manage.py shell 启动 ipython 时,然后导入论坛;我可以输入 forum.[tab] 来获得制表符补全,而 ipython 给我模型补全,但不是视图。我的

__init__.py

文件是空的,我有一个简单的 models.py,因为我有一个简单的 views.py。

那么,这两个mudule为什么表现不同呢?

4

1 回答 1

0

在 Rosetta 和 scribbler 的情况下,它们被添加到 settings.py 文件的 INSTALLED_APPS 部分,所以这可能就是它们被导入的方式。

于 2013-02-03T18:23:25.673 回答