Django向Django cms注册

Django向Django cms注册,django,django-cms,django-registration,Django,Django Cms,Django Registration,我已将django注册与django cms集成。我有多语言django cms为我的网站与两种语言的英语和法语。我面临url映射的问题。由于django cms有多种语言,所以在域名后附加了语言代码。而在Django注册中,它认为这样的URL为404。 下面是流程,我点击了注册按钮,我已经明确设置为http://localhost:8000/accounts/register/并正确显示注册页面,但成功完成注册后,会重定向到http://localhost:8000/en/accounts/r

我已将django注册与django cms集成。我有多语言django cms为我的网站与两种语言的英语和法语。我面临url映射的问题。由于django cms有多种语言,所以在域名后附加了语言代码。而在Django注册中,它认为这样的URL为404。 下面是流程,我点击了注册按钮,我已经明确设置为
http://localhost:8000/accounts/register/
并正确显示注册页面,但成功完成注册后,会重定向到
http://localhost:8000/en/accounts/register/complete/
,其中语言代码附加了url,django注册表示找不到页面。如果我手动从url中删除语言代码,它就可以正常工作

有人能帮我吗

项目的url.py

urlpatterns = i18n_patterns('',
   url(r'^admin/', include(admin.site.urls)),
   url(r'^', include('cms.urls'), name="home"),
   url(r'^news/', include('multilingual_news.urls')),
   url(r'^search/', include('haystack.urls')),
   url(r'^member/',include('openerp_member.urls')),
   (r'^accounts/',include('registration.backends.default.urls')),
)

您需要为Django注册添加AppHook。所以我所做的是:

  • 创建一个名为“cmsauth”的新应用程序
  • 创建相应的
    cms\u apps.py

    from cms.app_base import CMSApp from cms.apphook_pool import apphook_pool from django.utils.translation import ugettext_lazy as _ class RegistrationApphook(CMSApp): name = _("RegistrationApphook") urls = ["registration.backends.hmac.urls"] apphook_pool.register(RegistrationApphook) 从cms.app_base导入CMSApp 从cms.apphook\u池导入apphook\u池 从django.utils.translation导入ugettext\u lazy作为_ 类别注册应用程序挂钩(CMSApp): 名称=uu(“注册应用程序”) URL=[“registration.backends.hmac.url”] apphook_池寄存器(RegistrationApphook)
  • 创建一个类似“帐户”的CMS页面

  • 链接AppHook
    RegistrationApphook
    (您可能需要重新启动服务器才能使其可用)

现在你应该可以访问URL了。

清理你的URL,cms规则应该是最后一条,以避免匹配新闻/搜索/成员/帐户