python - 如何在 django 中获取用户(当前已登录)的帖子?
问题描述
当用户登录并进入他/她的帐户时,他们必须在那里看到旧帖子,他们过去上传的内容。如果通过比较当前登录用户 (request.user) 和数据库中可用的用户来尝试模板中的 if 语句。如果条件为真,那么与该用户相关的所有帖子都必须在我的帐户页面中可见。但这如果条件不起作用。当我删除此条件时,它会显示所有帖子,无论这些帖子是否相关或由用户上传。当我应用这个条件时,它什么也不显示,没有错误,它只显示我的导航栏,这意味着其余的代码都很好,问题出在 if 语句上。
模板 :
{% for i in userstweet %}
{% if request.user==i.user %}
Username : {{i.user}}
<br />
{{i.datetime}}
<br />
<img src="{{i.image.url}}" width=400 height=400 />
<br />
<br />
{{i.tweet}}
{% endif %}
{% endfor %}
看法 :
def myaccount(request):
return render(request, 'tweets/myaccount.html', {'userstweet': Tweets.objects.all})
网址:
path('myaccount', views.myaccount,name='account')
我希望当前登录用户上传的帖子将显示在我的帐户页面上,但它什么也没提供。
解决方案
只获取当前用户并查询该用户的所有推文不是更好吗?你可以做的是:
def myaccount(request):
current_user = request.user
# Where user is whatever foreign key you specified that relates to user.
user_tweets = Tweets.objects.filter(user=current_user)
return render(request, 'tweets/myaccount.html', {'userstweet': user_tweets})
推荐阅读
- angular - 通过 NPM 重用 Angular 组件,并能够编写自定义 html
- docker - 如何使用相同的 docker-compose.yml 文件创建 2 个不同的正在运行的应用程序?
- javascript - 如何根据活动导航选项卡动态生成页面标题?
- javascript - 如何遍历 document.body
- java - 如何在java中动态填充json文件中的变量值
- python - Python 解析器 - 定义输出文件名
- git - Visual Studio Code - 源代码管理:添加 .gitignore 异常
- sql - 如果列有日期和时间,如何检查当前日期?
- flutter - Flutter - 更改小部件的背景颜色
- selenium - Chromedriver - 未授予 IE 标签权限