gpt4 book ai didi

python - Django registration-profile - 用户配置文件的下一步

转载 作者:太空宇宙 更新时间:2023-11-04 06:05:37 25 4
gpt4 key购买 nike

我已经在我的项目中安装了 django-registration 应用程序。成功登录步骤后,我将用户重定向到 localhost:8000/ - 这是我的默认测试主机和端口。我在页面某处显示已登录 userusername

我现在想做的是,当我点击用户名时,会出现一些选项,比如edit profilechange password。我的问题如下:

  1. 我是否应该创建另一个模型(在另一个新应用程序中)包含个人资料照片、性别、生日等字段,并向 django.contrib 中的 User 模型添加一个外键.auth.models ?或者我应该修改 django-registration 中的模型以添加一些额外的字段,但我在注册阶段不要求这些字段,以后才更新它们?

  2. 如果我希望我的profile edit 功能位于/accounts/edit,最佳做法是什么?编辑我项目的 URLconf 并在 (r'^accounts/', include( 'registration.backends.default.urls')), ?

我希望我说清楚了。我试图在编码之前弄清楚哪种方法是最好的方法,因为我是 Django 的新手...谢谢

最佳答案

我发现将配置文件表与授权表分离更容易。就像您提到的那样,您可以使用外键关系将该配置文件链接到用户。您还可以在配置文件表中应用 lambda,以便在创建新用户对象时自动创建配置文件。

在您的模板中,您可以使用

根据当前经过身份验证的方动态链接到个人资料页面
{% if request.user.is_authenticated %}
<a href="/user_profile/{{ request.user.id }}">Update Profile</a>
{% endif %}

user_profile 是您的应用名称,其中包含您的 user_profile 表。这样,当发出请求时,您可以使用当前用户 ID 的正则表达式(类似于 django 提供的轮询示例)来获取当前登录用户的 ID 号,而不是在 View 中查询该特定的数据库用户。

View .py

def myView(request, user_id):
userProfile = UserProfile.objects.get(user.pk=user_id)

这是一个高级示例,提供了实现它的一种方法。

关于python - Django registration-profile - 用户配置文件的下一步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22300438/

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