我正在学习 django-cms。我尝试制作非常成功的自定义插件,但是当我尝试将我的自定义插件挂钩到 apphook 时,它给了我一个错误,说,
没有名为 urls 的模块。
我按照 django cms 站点文档中给出的教程进行操作,并创建了 cms_app.py 文件。目前,我的应用程序目录包含为 django cms 制作自定义插件所需的所有文件,以及 cms_app.py 的附加文件。
url 的设置有问题还是我需要在我的 app 目录中创建一个新的 urls.py 文件?
我的 cms_app.py 与教程中给出的完全相同。
编辑 - 1
我使用命令创建了一个名为 myproject 的项目 -
python django-admin.py startproject myproject
在参考为 cms 提供的教程后,我使用基本命令创建了一个名为 first 的插件
首先 python manage.py startapp
现在插件运行良好,在尝试使用 apphook 之前的目录结构是,
first/
__init__.py
cms_plugins.py
models.py
tests.py
views.py
现在尝试在 apphook 中挂钩应用程序后,目录结构为:
first/
__init__.py
cms_app.py
cms_plugins.py
models.py
tests.py
views.py
我的 cms_app.py 如下:
from cms.app_base import CMSApp
from cms.apphook_pool import apphook_pool
from django.utils.translation import ugettext_lazy as _
class FirstApp(CMSApp):
name = _("First App") # give your app a name, this is required
urls = ["first.urls"] # link your app to url configuration(s)
apphook_pool.register(FirstApp) # register your app
我在 myproject 文件夹中有一个 urls.py 文件,内容如下:
from django.conf.urls.defaults import *
from django.contrib import admin
from django.conf import settings
# Uncomment the next two lines to enable the admin:
# from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
# Examples:
# url(r'^$', 'myproject.views.home', name='home'),
# url(r'^myproject/', include('myproject.foo.urls')),
# Uncomment the admin/doc line below to enable admin documentation:
# url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
# Uncomment the next line to enable the admin:
url(r'^admin/', include(admin.site.urls)),
url(r'^', include('cms.urls')),
)
if settings.DEBUG:
urlpatterns = patterns('',
(r'^' + settings.MEDIA_URL.lstrip('/'), include('appmedia.urls')),
) + urlpatterns
我已经按照教程中的说明重新启动了服务器,但没有成功。关于我的简单应用程序有什么问题的任何想法?!