html 中无法呈现 Django 模型
Django model can't be render in html
我创建了一些模型,但它不会在模板中呈现,有些还可以,所以我只是使用相同的方法创建另一个模型,但是当我尝试 manage.py runserver some模型的部分未渲染,我已经做了 manage.py makemigrations 和 manage.py 迁移,抱歉,这是我第一次在这里提问,谢谢
这是我的views.py
from django.shortcuts import render
from django.http import HttpResponse
from .models import FrontPage, DailyQuote, Photo, kate
# Create your views here.
def front(request):
photo = Photo.objects.all()
content = {'photo': photo}
return render(request, 'front.html', content)
def home(request):
page = FrontPage.objects.all()
args = {'page':page}
return render(request, 'Home.html', args)
def ytvideos(request):
return render(request, 'ytvideos.html')
def reading(request):
page = FrontPage.objects.all()
Fullpage = {'page': page}
return render(request, 'Reading.html', Fullpage)
def KGK(request):
Thekate = kate.objects.all()
Therealkate = {'Thekate': Thekate}
return render(request, 'KGK.html', Therealkate)
这是我的HTML
{% extends 'front.html' %}
{% block head %}
{% endblock %}
{% block content %}
<div class="container-fluid">
{% for i in kate %}
<div class="card text-center">
<div class="card-header">
<b>kate</b>
</div>
<div class="card-body">
<h5 class="card-title">{{ i.katetitle }}</h5>
<p class="card-text">{{ i.katecontent }}</p>
<a href="#" class="btn btn-primary">Read More</a>
</div>
</div>
{% endfor %}
</div>
{% endblock %}
这是我的admin.py
from django.contrib import admin
from .models import FrontPage, DailyQuote, Photo, kate
# Register your models here.
admin.site.register(FrontPage)
admin.site.register(DailyQuote)
admin.site.register(Photo)
admin.site.register(kate)
这是我的models.py
from django.db import models
# Create your models here.
class FrontPage(models.Model):
Title = models.CharField('Title', max_length=20)
Content = models.TextField('Content', max_length=100)
short = models.TextField('short', max_length=150)
date = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.Title
class Meta:
ordering = ['-date']
class DailyQuote(models.Model):
Quote = models.TextField('Quote', max_length=200)
Author = models.CharField('Author', max_length=50)
def __str__(self):
return self.Quote
class Photo(models.Model):
Picture = models.ImageField('Image', upload_to="images/")
Caption = models.CharField('Caption', max_length=20)
text = models.TextField('text', max_length=50)
date = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.text
class Meta:
ordering = ['-date']
class kate(models.Model):
katetitle = models.CharField('Title', max_length=20)
katecontent = models.TextField('Content', max_length=100)
date = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.katecontent
class Meta:
ordering = ['-date']
我的urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name='home'),
path('front', views.front, name='front'),
path('ytvideos', views.ytvideos, name='ytvideos'),
path('Reading', views.reading, name='reading'),
path('KGK', views.KGK, name='KGK'),
]
Therealkate = {'Thekate': Thekate}
中的字典键为 'Thekate'
它试图找到一个叫做 'kate' 的东西,它实际上应该叫做 'Thekate'
这应该可以解决问题-
<div class="container-fluid">
{% for i in Thekate %}
<div class="card text-center">
<div class="card-header">
<b>kate</b>
</div>
<div class="card-body">
<h5 class="card-title">{{ i.katetitle }}</h5>
<p class="card-text">{{ i.katecontent }}</p>
<a href="#" class="btn btn-primary">Read More</a>
</div>
</div>
{% endfor %}
在for循环中,我只是把'kate'改成了'Thekate'
希望有用!
我创建了一些模型,但它不会在模板中呈现,有些还可以,所以我只是使用相同的方法创建另一个模型,但是当我尝试 manage.py runserver some模型的部分未渲染,我已经做了 manage.py makemigrations 和 manage.py 迁移,抱歉,这是我第一次在这里提问,谢谢
这是我的views.py
from django.shortcuts import render
from django.http import HttpResponse
from .models import FrontPage, DailyQuote, Photo, kate
# Create your views here.
def front(request):
photo = Photo.objects.all()
content = {'photo': photo}
return render(request, 'front.html', content)
def home(request):
page = FrontPage.objects.all()
args = {'page':page}
return render(request, 'Home.html', args)
def ytvideos(request):
return render(request, 'ytvideos.html')
def reading(request):
page = FrontPage.objects.all()
Fullpage = {'page': page}
return render(request, 'Reading.html', Fullpage)
def KGK(request):
Thekate = kate.objects.all()
Therealkate = {'Thekate': Thekate}
return render(request, 'KGK.html', Therealkate)
这是我的HTML
{% extends 'front.html' %}
{% block head %}
{% endblock %}
{% block content %}
<div class="container-fluid">
{% for i in kate %}
<div class="card text-center">
<div class="card-header">
<b>kate</b>
</div>
<div class="card-body">
<h5 class="card-title">{{ i.katetitle }}</h5>
<p class="card-text">{{ i.katecontent }}</p>
<a href="#" class="btn btn-primary">Read More</a>
</div>
</div>
{% endfor %}
</div>
{% endblock %}
这是我的admin.py
from django.contrib import admin
from .models import FrontPage, DailyQuote, Photo, kate
# Register your models here.
admin.site.register(FrontPage)
admin.site.register(DailyQuote)
admin.site.register(Photo)
admin.site.register(kate)
这是我的models.py
from django.db import models
# Create your models here.
class FrontPage(models.Model):
Title = models.CharField('Title', max_length=20)
Content = models.TextField('Content', max_length=100)
short = models.TextField('short', max_length=150)
date = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.Title
class Meta:
ordering = ['-date']
class DailyQuote(models.Model):
Quote = models.TextField('Quote', max_length=200)
Author = models.CharField('Author', max_length=50)
def __str__(self):
return self.Quote
class Photo(models.Model):
Picture = models.ImageField('Image', upload_to="images/")
Caption = models.CharField('Caption', max_length=20)
text = models.TextField('text', max_length=50)
date = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.text
class Meta:
ordering = ['-date']
class kate(models.Model):
katetitle = models.CharField('Title', max_length=20)
katecontent = models.TextField('Content', max_length=100)
date = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.katecontent
class Meta:
ordering = ['-date']
我的urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name='home'),
path('front', views.front, name='front'),
path('ytvideos', views.ytvideos, name='ytvideos'),
path('Reading', views.reading, name='reading'),
path('KGK', views.KGK, name='KGK'),
]
Therealkate = {'Thekate': Thekate}
它试图找到一个叫做 'kate' 的东西,它实际上应该叫做 'Thekate'
这应该可以解决问题-
<div class="container-fluid">
{% for i in Thekate %}
<div class="card text-center">
<div class="card-header">
<b>kate</b>
</div>
<div class="card-body">
<h5 class="card-title">{{ i.katetitle }}</h5>
<p class="card-text">{{ i.katecontent }}</p>
<a href="#" class="btn btn-primary">Read More</a>
</div>
</div>
{% endfor %}
在for循环中,我只是把'kate'改成了'Thekate'
希望有用!