【发布时间】:2020-05-15 09:11:44
【问题描述】:
大家好,我正在尝试让我的代码检查数据库中带有@username 的帖子中提到的用户,并将该用户个人资料链接作为@username 返回。我目前能够在我的视图中使用 tagged_users 变量在后端获取用户。它存储提到的用户,但我如何在模板中访问它,以便它为我提供指向这些用户配置文件的链接?到目前为止,我的代码在模板中是这样的
{% if post.post|slice:":1" == '@' %}
<a href="{% url 'profile_with_pk' pk=user.username %}">
{{ post.post }}
</a>
{% else %}
{{ post.post }}
{% endif %}
这会将整个帖子作为链接返回,但不会返回帖子中提到的实际用户,而是会链接到当前登录的用户
这是我的代码,可以正确返回 tagged_users 列表中提到的用户我想在模板中访问它作为帖子中这些用户个人资料的链接。
def post(self, request, pk=None):
if pk:
user = User.objects.get(pk=pk)
else:
user = request.user
form = HomeForm(request.POST)
users = User.objects.all()
if form.is_valid():
post = form.save(commit=False)
post.user = request.user
post.save()
tagUsers = re.findall(r"@+(\w+)", post.post)
tagged_users = list()
for username in tagUsers:
user = User.objects.get(username=username)
tagged_users.append(user)
print(tagged_users)
text = form.cleaned_data['post']
form = HomeForm()
tag = tagged_users
return redirect('home')
context = {'form': form, 'text': text, 'users':users, 'user': user, 'tag':tag, 'tagUsers':tagUsers }
return render(request, self.template_name, context)
【问题讨论】:
标签: python django python-3.x django-templates django-views