python - 这个模板和模型的 Django 代码有什么问题
问题描述
所以我正在尝试用 Django 制作动态页面。我已经在管理页面中输入了“姓名”、“背景”和“介绍”数据。现在我正试图将其展示给我的“.../index”页面。但它不起作用。
这是models.py的python代码
class UserInfo(models.Model):
name = models.CharField(max_length = 10)
background = models.CharField(max_length=30)
introduction = models.CharField(max_length = 60)
在我的 views.py 文件中,我有这个:
def index(request):
user = UserInfo.objects.all()
return render(request, 'index.html', {'user' : user})
最后在我的“index.html”文件中,我有这个:
<p>{{user.name}}</p>
<p>{{user.background}}</p>
<p>{{user.introduction}}</p>
所以这些代码应该在“.../index”页面中向我显示名称、背景和介绍,但它什么也没显示。我看不出我做错了什么。
我非常感谢您的帮助。:) 谢谢。
解决方案
您的user
变量是用户列表,因此您需要在模板中对其进行迭代
{% for item in user %}
<p>{{item.name}}</p>
<p>{{item.background}}</p>
<p>{{item.introduction}}</p>
{% endfor %}
或获取特定用户index()
def index(request):
user = UserInfo.objects.get(pk = your_user_pk)
return render(request, 'index.html', {'user' : user})
那么你的模板应该可以工作
<p>{{user.name}}</p>
<p>{{user.background}}</p>
<p>{{user.introduction}}</p>
推荐阅读
- python - 'str'对象在python中没有属性'get'
- java - 无法在 Heroku 上访问 Spring 中上传的资源
- reactjs - React TDD - 如何获取内部文本?
- oracle - NO_DATA_FOUND 异常与 FOR 循环
- python - 学校的家庭作业不工作垃圾邮件或只是不工作
- windows-installer - 我正在.net 中进行设置和部署,我无法用较新的版本替换现有版本,需要一些指导
- html - CSS 中的微光效果
- javascript - 我有两个相同的 cIass 名称,一个样式可以为第一个 div 类应用样式?
- grpc - grpc.max_concurrent_streams 在客户端上不可用
- c# - 如何绑定到 C# wpf datagrid 视图单元格的背景?