python - 使用 Django 显示用户特定信息
问题描述
所以我知道这个问题有点宽泛,但我正在使用 Django 开发一个 Web 应用程序,但遇到了一个障碍;所以我想将用户特定的数据(由用户估算)存储在用户模型中。(我已经完成了用户模型,它按预期工作,我正在使用自定义用户类,这样我就可以获得所需的数据字段。)
所以问题是我想要一个页面的 url(即 www.example.com/profile/),但显示的信息是特定于登录用户的。并且让用户能够更改信息并使用更改更新数据库。我已经阅读了有关会话的 Django 文档,但我不确定它是否适用于我的用例或者我将如何实现它。谢谢您的帮助。
Cheers
解决方案
在 django 上,请确保如果您登录用户,如果您使用request.user
,它将向您发送已登录的用户。
从中您可以轻松获取所需的所有信息,然后将它们显示到模板上的输入中,例如从 ModificationForm 给出。
然后使用此表单,您可以像您所知道的那样在您的视图中请求它form = ModificationForm(request.POST)
。
我不知道我是否已经很好地回答了你的问题,如果你想要更多,请告诉我。我已经做了你想做的事,所以我可以帮助你。
下面我给你举个例子
表格.py
class ModificationForm(forms.ModelForm):
name = models.CharField()
...
视图.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())
profile.html
<html>
...
<!-- Example of one input -->
<input type="text" name="email" value="{{ profile.user.email }}"
...
</html>
例如,我不确定所有功能的名称或如何取回电子邮件,因为我已经有一段时间没有接触 Django,但我认为这可以与好名字一起使用。
推荐阅读
- decimal - 在 Power BI 中,如何关闭堆积条形图上十进制数的聚合?
- ios - VoiceOver 开启时如何从 UITapGestureRecognizer 获取正确的屏幕坐标
- go - GetStateByPartialCompositeKey 通过特定键不起作用
- bacnet - BACnet 不强调安全通信?
- powershell - Powershell:避免将换行符作为文件的最后一个字符
- c# - 超过 100 行时,Webmethod 不返回 AJAX 成功方法
- javascript - 决定哪个系列进入范围选择器 highstock
- laravel - 更改护照中的 Json 响应
- python - TypeError:列表索引必须是整数或切片,而不是元组?
- google-apps-script - Discord API 告诉我:“401:未经授权”,当我使用 Google 脚本进行 GET 时:“UrlFetchApp.fetch()”