2014-04-01 2 views
1

django-cms에 장고 등록을 통합했습니다. 나는 다국어 django-cms를 영어와 프랑스어의 두 가지 언어로 제공합니다. 나는 url-mapping에서 문제를 직면하고있다. django-cms에는 여러 언어가 있으므로 도메인 이름 뒤에 언어 코드가 붙습니다. 장고 등록 중에는 404와 같은 URL을 고려합니다. 명시 적으로 http://localhost:8000/accounts/register/으로 설정 한 것을 클릭하여 등록 버튼을 클릭하고 등록 페이지를 올바르게 표시하지만 등록이 성공적으로 완료되면 http://localhost:8000/en/accounts/register/complete/으로 리디렉션됩니다. 언어 코드가 url로 첨부되어 있고 django-registration에 페이지가 없습니다. URL에서 언어 코드를 수동으로 제거하면 정상적으로 작동합니다.Django CMS에 장고 등록

아무도 도와 줄 수 있습니까?

프로젝트 용 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')), 
) 
+0

URL을 정리하면 cms 규칙이 뉴스/검색/회원/계정과 일치하지 않도록 마지막 규칙이어야합니다. – Jerzyk

답변

2

장고 등록을 위해 AppHook을 추가해야합니다. 그래서 내가 한 일은이었다

  • 는 "cmsauth"
  • 라는 새로운 응용 프로그램을 만들 만든 cms_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 페이지 만들기 AppHook RegistrationApphook (사용할 수 있으려면 서버를 다시 시작해야 할 수도 있음)

이제 URL에 연결할 수 있습니다.