我正在网站上工作以更好地学习Django框架。我目前正在设置视图和指向模板文件的链接,以在主页面上显示内容。在我的views.py文件中,我添加了一个字典,它在呈现时显示index.html页面中每个键的dict值:
views.py:
def Index(request):
projectmessage = {
"projectMessage":"This is text from a dictionary value. written in views.py",
"projectTitle":"Title from dict",
"projectText": "Text from dict",
}
return render(request,'wbdev/index.html', context=projectmessage)
index.html中的相关行:
<h3>{{ projectTitle }}</h3>
<p>{{ projectMessage }}</p>
我想知道这是否可以在django管理页面上显示,以便我可以直接从GUI更改dict文本。这可能是完成还是我离开的意义上说这不是django管理页面的目的?从我的红色django管理员解析models.py文件来设置文本字段和按钮。我已经按照官方的django教程和一些&#34;如何用django&#34;但我无法理解如何继续获得我想要的功能。
对不起这个菜鸟问题我很抱歉。我将回到我的书中,我可能会理解这是如何工作的。如果有人能帮我解释如何实现这一目标,我将非常感激。
谢谢。
答案 0 :(得分:1)
您可能希望为项目创建模型,因此可以将项目保存到数据库并轻松显示在管理员中。
inside models.py包含以下内容:
class Project(models.Model):
message = models.CharField(max_length=20)
title = models.CharField(max_length=20)
text = models.CharField(max_length=20)
如果你注册模型,在admin.py内部,它应该出现在admin
中from dajngo.contrib import admin
from .models import Project
admin.site.register(Project)
最后,对于views.py中的索引,您需要在将数据呈现给模板之前查询数据库中的项目对象
def index(request):
projects = Project.objects.all()
return render(request,'wbdev/index.html', context={'projects': projects})
在模板中,您可以迭代数据库中的所有项目,如
{% for project in projects %}
{{ project.message }}
{{ project.title }}
{{ project.text }}
{% endfor %}