用户名变成指向用户配置文件Django的链接
****在url.py部分添加了用户视图配置文件,并添加了my users view.py*** 嘿,伙计们,我试过几次问这个问题,但我觉得我不够彻底。在过去的几天里,我尝试了很多不同的方法。我想知道是否有人能给我指出正确的方向。我希望post.post中使用的用户名变成该用户配置文件的链接。现在这是我得到的输出 正如你所见,我在帖子中得到了用户名,但它没有显示为指向该用户配置文件的链接,它只是显示为纯文本,我希望@devil成为指向该用户配置文件的链接。。。在后端,虽然系统确实发现@devil是数据库中的一个用户,但在我的前端模板中它并没有显示为链接 这是我正在使用的my views.py,以便后端在post.post中找到任何用户用户名变成指向用户配置文件Django的链接,django,django-models,django-forms,django-templates,django-views,Django,Django Models,Django Forms,Django Templates,Django Views,****在url.py部分添加了用户视图配置文件,并添加了my users view.py*** 嘿,伙计们,我试过几次问这个问题,但我觉得我不够彻底。在过去的几天里,我尝试了很多不同的方法。我想知道是否有人能给我指出正确的方向。我希望post.post中使用的用户名变成该用户配置文件的链接。现在这是我得到的输出 正如你所见,我在帖子中得到了用户名,但它没有显示为指向该用户配置文件的链接,它只是显示为纯文本,我希望@devil成为指向该用户配置文件的链接。。。在后端,虽然系统确实发现@devi
def get(self, request):
form = HomeForm()
posts = Status1.objects.filter(user=request.user).order_by('-id')
users = User.objects.all()
args = {'form':form, 'posts':posts, 'users':users}
return render(request, self.template_name, args)
def post(self, request):
form = HomeForm(request.POST)
users = User.objects.all()
if form.is_valid():
post = form.save(commit=False)
post.user = request.user
post.save()
for username in post.post.split():
if username.startswith("@"):
user = User.objects.get(username=username)
username = user
print(username) #THIS PRINTS THE USERNAME IN THE TERMINAL SO THAT I KNOW IT'S PARSING THE POST FOR USERS MENTIONED IN THE POST WHEN SUBMITTED
text = form.cleaned_data['post']
form = HomeForm()
return redirect('home')
context = {'form': form, 'text': text, 'users':users, 'username':username}
return render(request, self.template_name, context)
这是我用来显示post.post的信息的前端模板,如上图所示。我不确定如何告诉模板,任何以@开头的用户名都应该是指向用户配置文件的链接,因为它从数据库中获取post.post信息
{% for post in posts %}
{{ post.post}}
{% endfor %}
这是我的模特
from django.db import models
from django.contrib.auth.models import User
class Status1(models.Model):
post = models.CharField(max_length=333)
user = models.ForeignKey(User, on_delete=models.CASCADE)
date = models.DateTimeField(auto_now=True)
blockchain = models.TextField()
这是我的URL.py
urlpatterns = [
url(r'^$', HomeView.as_view(), name='home'),
#path('', HomeView, name='home'),
path('register/', user_views.register, name='register'),
path('profile/', user_views.profile, name='profile'),
path('admin/', admin.site.urls),
path('login/', auth_views.LoginView.as_view(template_name='users/login.html'), name='login'),
path('logout/', auth_views.LogoutView.as_view(template_name='users/logout.html'), name='logout'),
]
这是适用于用户的my views.py
def register(request):
if request.method == 'POST':
form = UserRegisterForm(request.POST)
if form.is_valid():
form.save()
username = form.cleaned_data.get('username')
messages.success(request, f'Welcome {username}!')
return redirect('login')
else:
form = UserRegisterForm()
return render(request, 'users/register.html', {'form': form})
def profile(request):
return render(request, 'users/profile.html')
我一直在为这个问题绞尽脑汁,我想不出来。非常感谢有人帮助你的URL。py我没有看到任何看起来像用户配置文件视图的内容。链接应该指向哪里?我明白了,所以我需要先在url中添加链接,然后再继续?谢谢你是的,因为你需要路线和处理程序链接到某个地方。好的,谢谢你@Charnel会先完成的,你的一次生命拯救,我无法理解这一点,为了我的生命,我是如此迷失,至少现在我做到了direction@Charnel我添加了我的用户配置文件视图和url,你知道我接下来要做什么吗?非常感谢。