gpt4 book ai didi

python - Django Userena 更改 url 监护人错误

转载 作者:太空宇宙 更新时间:2023-11-03 17:59:47 26 4
gpt4 key购买 nike

嘿,我尝试将 userena 与 django 结合使用来构建一个网站,该网站在登录后具有干净的仪表板。我当前的问题是 userena 使用相当高的 url 深度。

Userena 位于 myproject/accounts 下并使用 url 'user'。后来的“仪表板”。登录时 127.0.0.1:8000/user/是用户名 url。在正常状态下,它会列出所有注册用户。我已经设法更改它以显示当前登录的用户个人资料(accounts/urls.py):

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

我现在的问题是我想更改正常的用户名网址。用户名网址为:

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
....

我尝试更改网址和 View ,但总是收到 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

错误: enter image description here

可能有多种方法可以对此进行存档。感谢您的帮助,并对糟糕的英语表示歉意。

最佳答案

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

我实际上像教程中那样更改了 View ,以提供与原始 userena View 相同的文件。没有用户名的情况让我在 View 中添加额外的内容。

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'),

关于python - Django Userena 更改 url 监护人错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27893197/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com