如何在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上进行的研究我找不到完美的答案
你能帮我吗?
答案 0 :(得分:1)
在 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> %}">
替换用户的用户名。
答案 1 :(得分:0)
您可以仅使用模板创建视图,请参见this。您可以拥有可编辑的表单或任何您喜欢的表单。仅当用户登录时,才会显示此视图,对于未经授权的用户,将其重定向到您的登录页面。