繁体   English   中英

Django Userena更改URL守护程序错误

[英]Django Userena change url guardian error

嘿,我尝试将django与userena一起使用,以建立一个登录后具有干净仪表盘的网站。我当前的问题是userena使用相当高的URL深度。

Userena在myproject / accounts下,并使用URL'user'。 后来的“仪表板”。 登录127.0.0.1:8000/user/时是userena URL。 在正常状态下,它会列出所有注册用户。 我设法将其更改为显示(accounts / urls.py)当前登录的用户配置文件:

url(r'^$', views.dashboard, name='dashboard'),
url(r'^', include('userena.urls')),

我的问题是,现在我想更改普通的userena网址。 Userena网址为:

127.0.0.1:8000/user/username/signout
127.0.0.1:8000/user/username/edit
127.0.0.1:8000/user/username/email
127.0.0.1:8000/user/username/password
....

我想要:

127.0.0.1:8000/user/signout
127.0.0.1:8000/user/edit
....

我试图同时更改URL和视图,但始终收到GuardianError。

网址变更:

url(r'^edit', userena_views.profile_edit),

检视变更:

url(r'^edit', views.settings, name='settings'),
+
def settings(request):
    user = request.user
    response = userena_views.profile_edit(request, user)
    return response

错误: 在此处输入图片说明

可能有多种存档方法。 谢谢您的帮助,对不起,英语不好。

我在这里找到了解决此问题的方法http://tundebabzy.blogspot.de/2013/04/an-easy-way-to-override-third-party-app.html

我实际上像在本教程中一样更改了视图,以提供与原始userena视图相同的文件。 在没有用户名的情况下,我需要在视图中添加额外的名称。

def profile_edit(request, edit_profile_form=userena_forms.EditProfileForm,
             template_name='userena/profile_form.html', success_url=None,
             extra_context=None, **kwargs):
    username = request.user

    return userena_views.profile_edit(request=request, username=username,
            edit_profile_form=edit_profile_form, template_name=template_name,
            success_url=success_url, extra_context=extra_context)

网址:

url(r'^edit/$', views.profile_edit, name='userena_profile_edit'),

暂无
暂无

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

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