Django向Django cms注册
我已将django注册与django cms集成。我有多语言django cms为我的网站与两种语言的英语和法语。我面临url映射的问题。由于django cms有多种语言,所以在域名后附加了语言代码。而在Django注册中,它认为这样的URL为404。 下面是流程,我点击了注册按钮,我已经明确设置为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
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”的新应用程序
- 创建相应的
: 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\u apps.py
- 创建一个类似“帐户”的CMS页面
- 链接AppHook
(您可能需要重新启动服务器才能使其可用)RegistrationApphook
现在你应该可以访问URL了。清理你的URL,cms规则应该是最后一条,以避免匹配新闻/搜索/成员/帐户