【问题标题】:Django model can't be render in htmlDjango 模型无法在 html 中呈现
【发布时间】:2021-08-10 12:03:42
【问题描述】:

我已经创建了一些模型,但它不会在模板中呈现,有些是好的,所以我只是使用相同的方法来创建另一个模型,但是当我尝试 manage.py runserver 时,一些模型是不渲染,我已经做了 manage.py makemigrations 和 manage.py migrate,抱歉这是我第一次在这里提问,谢谢

这是我的观点.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'),
]

【问题讨论】:

    标签: python html django model


    【解决方案1】:

    字典键是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'

    希望它有效!

    【讨论】:

      猜你喜欢
      • 2020-02-29
      • 2019-04-04
      • 2016-12-06
      • 1970-01-01
      • 2019-11-17
      • 2016-04-03
      • 2020-06-15
      • 2018-08-14
      • 2022-11-12
      相关资源
      最近更新 更多