繁体   English   中英

django cms apphook-没有名为urls的模块错误

[英]django cms apphook - no module named urls error

我正在学习django-cms。 我尝试制作了非常成功的自定义插件,但是当我尝试将自定义插件挂接到apphook时,它给了我一个错误,说,

没有名为urls的模块。

我按照django cms站点文档中提供的教程进行操作,并创建了cms_app.py文件。 目前,我的应用程序目录中包含为django cms创建自定义插件所需的所有文件,以及cms_app.py的其他文件。

设置网址是否有问题,还是需要在我的应用目录中创建一个新的urls.py文件?

我的cms_app.py与本教程中给出的完全相同。

编辑-1

我已经使用命令创建了一个名为myproject的项目-

python django-admin.py startproject myproject

参考针对cms给出的教程之后,我使用基本命令创建了一个名为first的插件

首先使用python manage.py startapp

现在,该插件运行良好,并且在尝试挂勾之前的目录结构是,

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

我已经按照本教程中的说明重新启动了服务器,但是没有成功。 关于我的简单应用程序有什么问题的任何想法吗?

听起来很奇怪,但是错误提示'No module named ...'通常意味着您具有循环导入功能,因此基本上您尝试两次导入同一模块

我猜您正在执行本教程:

http://docs.django-cms.org/zh/2.1.3/getting_started/tutorial.html

我没有该项目的最新消息,但我知道您必须执行以下步骤:

http://docs.django-cms.org/zh/2.1.3/getting_started/tutorial.html#url-configuration

编辑

您实际上需要在“第一个”文件夹下创建urls.py文件...,并且需要一个带有urls.py文件的cms模块。

编辑2

我的基本文件夹结构看起来像

src/
    cms/
    __ init__.py
    manage.py
    urls.py
    views.py

您指定的urls模块是否存在,并且在您的Python路径中? 附加到apphooks的url必须存在,然后才能使用该apphook,并且该模块必须是可导入的。

将您的代码粘贴到某处将有助于我们为您提供帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM