如何在django admin中编辑views.py中的dict

时间:2016-09-02 13:15:42

标签: python django django-admin

我正在网站上工作以更好地学习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;但我无法理解如何继续获得我想要的功能。

对不起这个菜鸟问题我很抱歉。我将回到我的书中,我可能会理解这是如何工作的。如果有人能帮我解释如何实现这一目标,我将非常感激。

谢谢。

1 个答案:

答案 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 %}