python - 单击用户名并重定向到个人资料
问题描述
我正在编写一个应用程序,我希望能够单击用户名并转到用户的个人资料。我搜索了很多,没有找到我想要的任何东西。
我希望当我按下 Admin 时,我将被重定向到配置文件,其中包含通过我创建的模型保存的所有信息。
class Farmer(models.Model):
name = models.ForeignKey(User, on_delete=models.CASCADE)
address = models.CharField(max_length=50)
age = models.IntegerField()
province = models.CharField(max_length=100)
company_name = models.CharField(max_length=30)
phone_number = PhoneNumberField(null=False, blank=False, unique=True)
products = models.CharField(max_length=200)
def __str__(self):
return self.name.username
我怎样才能实现这样的目标?
我认为我需要在我的 views.py 中编写一个函数,但我被卡住了,不知道如何更进一步。
def profile(request):
# something here..
return render(request, 'home_page/profile.html')
在我的项目中,urlpattern 是:
urlpatterns = [
path('admin/', admin.site.urls),
path('',include('home_page.urls')),
path('people/', include('people_page.urls')),
]
在我的应用程序中:
urlpatterns = [
path('',views.people, name='people-index'),
path('profile/', views.profile, name='profile-index')
]
模板:
<div class="sales">
{%for x in info%}
<div class="farmer-info">
<img src="{%static 'people_page/name.png' %}" alt="name icon" />
<span
><a href="{% url 'profile-index'%}">{{ x.name }}</a> <span>{{ x.company_name }}</span>
<hr
/></span>
</div>
{%endfor%}
解决方案
视图.py
from django.shortcuts import render, get_object_or_404
from .models import Farmer
def profile(request, id):
farmer = get_object_or_404(Farmer, id=id)
context = {
'farmer': farmer,
}
return render(request, 'home_page/profile.html', context)
网址.py:
path('profile/<id>/', views.profile, name='profile-index')
模板.html
<a href="{% url 'profile-index' x.id %}">{{ x.name }}</a>
推荐阅读
- python - 如何在Python中每四位用逗号格式化一个数字?
- reactjs - 如何在反应查询中进行依赖突变?
- ios - iOS随机导航问题,每次点击按钮都没有反应
- javascript - Angular 应用程序的 Ngmodules 文件夹中的某些文件被随机删除并出现错误?
- scala - 下面的凿子语句是如何解码的?
- php - post 405 方法不允许 php forn
- java - JComboBox 自定义单元格渲染器 - 如何获取组合的 isEnabled() 状态?
- python - 在 Jupyter Notebook 中执行高斯朴素贝叶斯时出错
- android - VSCode,Flutter - 红色下划线
- android - Android - 使用带有希伯来语的语言环境进行视图对齐不起作用