如何在Django中创建用户个人资料?

如何在Django中创建用户个人资料?

嗨,我想知道如何在django应用中注册用户时创建用户个人资料,我想为该人创建个人资料页面

这是我的 Views.py

 def user_reg(request):
    register = False
    if request.method == 'POST':
        form = user_register_form(request.POST)
        if form.is_valid():
            user = form.save(commit=False)
            user.set_password(user.password)
            user.save()

            register = True

            if register == True:
                return HttpResponseRedirect("/accounts/login")

        else:
            print(form.errors)
    else:
        form = user_register_form()

    context = {'reg':form,}
    return render(request,'signup.html',context)

Models.py

class user_register_model(models.Model):
    user = models.OneToOneField(User,on_delete=models.CASCADE)
    join_date = models.DateTimeField(default=timezone.now)

如果用户在我们的网站上注册,我想知道如何创建个人资料页面。问题是如何创建他的个人资料页面

例如:

如果您在堆栈溢出时注册,请单击个人资料图标,然后可以转到页面

堆栈溢出使您的页面

我需要像这样的东西

当用户注册时,我需要用户页面,但该如何设置?

我在Google和youtube上进行的研究我找不到完美的答案

你能帮我吗?

hua545 回答:如何在Django中创建用户个人资料?

urls.py 中创建URL,如下所示:

path('profile/<username>',views.user_profile,name='user_profile'),

views.py (如果您使用的是 User 模型来保存用户数据。)

def user_profile(request,username):
    user = User.objects.get(username=username)
    context = {
       "user": user
    }


    return render(request,'user_profile.html',context)

user_profile.html (根据要求使用配置文件数据)

{{ user.username }}
{{ user.first_name }}

您可以在链接http://127.0.0.1:8000/profile/<username>/上进行检查。将用户名替换为用户的用户名,页面将仅显示该用户的数据。

-----------编辑-----------

如果要创建链接,请使用此:

<a class="nav-link navaour" href="{% url 'profile' username=<username> %}">

替换用户的用户名。

,

您可以仅使用模板创建视图,请参见this。您可以拥有可编辑的表单或任何您喜欢的表单。仅当用户登录时,才会显示此视图,对于未经授权的用户,将其重定向到您的登录页面。

本文链接:https://www.f2er.com/3118114.html

大家都在问