我有一个问题,我无法使用html内部的django变量这是我的代码: Models.py
from django.db import models
from django.urls import reverse
# Create your models here.
class Post(models.Model):
title = models.CharField(max_length=255)
slug = models.SlugField(max_length=255, unique=True)
created = models.DateTimeField(auto_now_add=True)
content = models.TextField(default="---")
H_price = models.IntegerField(default=0)
L_price = models.IntegerField(default=0)
remaining = models.IntegerField(default=0)
original_price = models.IntegerField(default=0)
Ended = models.BooleanField(default=False)
Published = models.BooleanField(default=True)
class Meta:
ordering = ['-created']
def __unicode__(self):
return u'%s'% self.title
def get_absolute_url(self):
return reverse('Products.views.post', args=[self.slug])
views.py
from django.shortcuts import render
from .models import Post
# Create your views here.
def index(request):
posts=Post.objects.all()
return render(request, 'Index.html', {"Posts": posts})
def post(request):
return
index.html
<h1>This is just a title </h1>
{% for post in posts %}
<div>
<h3> {{ post.title }}</h3>
<h3> {{ post.content }}</h3>
</div>
{% endfor %}
我知道这不是做HTML的最佳方法,但目标只是使其正常工作,然后我将使用CSS对其进行样式,并在运行服务器时使所有内容看起来都很干净,我只会得到"这只是一个标题"任何帮助我修复的建议都将被重新计算请注意,我是django中的居民
django模板中的变量对案例敏感。您在模板中使用{% for post in posts %}
,因此您需要在视图中使用posts
而不是Posts
。
return render(request, 'Index.html', {"posts": posts})