Django Userena更改url guardian

2024-04-24 07:26:37 发布

您现在位置:Python中文网/ 问答频道 /正文

嘿,我试着用userena和django建立一个网站,有一个干净的仪表板后登录。我目前的问题是userena使用了相当高的url深度。你知道吗

Userena在myproject/accounts下,使用url“user”。后面是“仪表板”。 当登录到127.0.0.1:8000/user/时,是userenaurl。在正常状态下,它列出所有已注册的用户。我已经设法改变,以显示当前登录的用户配置文件与(帐户)/网址.py)地址:

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

我的问题是,现在我想改变正常的userena网址。 用户URL是:

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更改:

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

错误: enter image description here

可能有多种方法可以存档。谢谢你的帮助,对不起你的英语不好。你知道吗


Tags: 用户name视图urlsettingsrequestusername仪表板
1条回答
网友
1楼 · 发布于 2024-04-24 07:26:37

我在这里找到了解决这个问题的方法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'),

相关问题 更多 >