所以我知道这个问题有点广泛,但是我正在使用Django开发Web应用程序,但是遇到了麻烦。所以我想在用户模型中存储特定于用户的数据(由用户估算)。 (我已经完成了用户模型,并且可以按预期工作,并且我正在使用自定义用户类,以便可以拥有所需的数据字段。)
所以问题是我想为页面提供一个URL(即www.example.com/profile/),但是要显示特定于登录用户的信息。并且让用户能够更改信息并使用更改更新数据库。我已经阅读了有关会话的Django文档,但不确定它是否适用于我的用例或我将如何实现它。感谢您的帮助。
Cheers
答案 0 :(得分:0)
在django上,请确保如果您登录用户,并且使用request.user
,它将向您发送已登录的用户。
由此,您可以轻松获取所需的所有信息,然后将其显示在模板的输入中(例如,从ModificationForm提供)。
然后使用此表单,就可以像使用form = ModificationForm(request.POST)
一样在视图中请求它。
我不知道我是否已经很好地回答了您的问题,请告诉我您是否想要更多。我已经完全按照您的意愿做了,所以我可以为您提供帮助。
下面我举一个例子
forms.py
class ModificationForm(forms.ModelForm):
name = models.CharField()
...
views.py
def ModificationView(request):
if request.user.is_authenticated():
if request.method == 'POST':
form = ModificationForm(request.POST)
if form.is_valid():
[ get all informations from inputs ]
else:
formModif = ModificationForm()
profile = request.user
else:
HttpRedirect('404/')
return render(request, 'profil/', locals())
profil.html
<html>
...
<!-- Example of one input -->
<input type="text" name="email" value="{{ profile.user.email }}"
...
</html>
我不确定所有功能的名称或如何获取电子邮件,例如,因为已经有一段时间没有接触Django了,但是我认为这可以使用好名字。