Переменные не отображаются - PullRequest
0 голосов
/ 19 июня 2020

Я создаю блог-сайт. И я пытался отрендерить drom модели RecentPosts объектов rpost1 ..et c в моем шаблоне blogs-base. html, который является страницей с подробностями моего блога. Но это не рендеринг. Любое решение ??

views.py

from django.http import HttpResponse
from django.shortcuts import render
from blog.models import  Post
from django.contrib import messages
from django.views.generic import ListView , DetailView
from .models import Post , RecentPosts , Comment ,Contact ,Populars
from datetime import datetime
from .forms import CommentForm


def index(request):
  return render(request, 'index.html')


def path(request):
  return render(request, 'blog.html')

def cv(request):
  return render(request, 'cv.html')



class HomeView(ListView):
  model = Post
  template_name = 'listview.html'

class ArticleDetailView(DetailView):
 model = Post
 template_name = 'base2.html'

def rpost(request):
 template_name = "blogs-base.html"
 rpost = RecentPosts.objects.all()
 context =  {'rpost' : 'rpost'}
 return render(request ,template_name,context)

Это часть URL. urls.py

from django.urls import path
from . import views
from .views import HomeView ,ArticleDetailView  ,contact ,Comment_page,popular
urlpatterns = [

path('', views.index, name='index'),
path('index.html', views.index, name='index'),
path('cv.html', views.cv, name='cv'),
path('blogs/',views.HomeView.as_view(),name="blogs"),
path('blogs/<slug:slug>',ArticleDetailView.as_view(),name='base2'),
path('contact/', views.contact, name='contact'),
path('contact.html/', views.contact, name='contact'),
path('comment.html/', views.Comment_page, name='comment'),
path('popular', views.popular, name='popular'),

]


Это часть модели. models.py

from django.db import models 
from django.contrib.auth.models import User
from django.urls import reverse
from django.utils.timezone import now
# Create your models here.
class Post(models.Model):


title = models.CharField(max_length=120)
author_name = models.CharField(max_length=120)
author_description = models.CharField(max_length=120)
body = models.TextField(default='')
slug = models.CharField(max_length = 130)


timestamp = models.DateTimeField(auto_now=True)

def get_abosolute_url(self):
 return reverse()

class Comment(models.Model):

 post = models.ForeignKey('Post', on_delete=models.CASCADE, related_name='comments')
 user = models.CharField(max_length=200)

 message = models.TextField()
 timestamp = models.DateTimeField(auto_now=True)
 def __str__(self):
   return self.user.capitalize()  + ' : '+self.message[0:16] + '........'


class Contact(models.Model):

 email = models.CharField(max_length=20)
 message = models.CharField(max_length=200)
 models.CharField(max_length=200)



class RecentPosts(models.Model):

 rpost1 = models.CharField(max_length=120)
 rpost2 = models.CharField(max_length=120)
 rpost3 = models.CharField(max_length=120

)

blogs-base. html

<a href="marketing-single.html" class="list-group-item list-group-item-action flex-column align-items-start">
<div class="w-100 justify-content-between">
<img src="assets/blog-uploads/ad.png" alt="" class="img-fluid float-left">
{% for i in rpost %} <h5 class="mb1">{{i.rpost1}}</h5>
<small>12 Jan, 2016</small>{% endfor %}
</div>
</a>

Это список где я размещаю только эскизы своих блогов. просмотр списка. html

{% extends 'blogs-base.html' %}
{% load static %}
{% block title %}{{post.title}}{%  endblock %}
 {% block content %}







{% for post in object_list %} <div class="col-lg-6">
<div class="blog-box">
<div class="post-media">
<a href="marketing-single.html" title="">
<img src="{% static 'website/assets/blog-uploads/ad.png' %}" alt="" class="img-fluid">
<div class="hovereffect">
 <span class=""></span>
</div><!-- end hover -->
 </a>
 </div><!-- end media -->
 <div class="blog-meta">
<h4><a href="{% url 'base2' post.slug  %}" title="" style="color: white;">{{post.title}}</a></h4>
<small><a href="{% url 'base2' post.slug  %}" title="" style="color: white;"></a></small>
<small><a href="{% url 'base2' post.slug  %}" title="" style="color: white;">20 July, 2017</a></small><br><br>
 </div><!-- end meta -->
</div><!-- end blog-box -->
 </div><!-- end col -->
 {% endfor %}
 {%  endblock %}

Ответы [ 2 ]

0 голосов
/ 20 июня 2020

Вы допустили ошибку в своем контексте. Вы передаете строку 'rpost' вместо

context = {"rpost": rpost}

0 голосов
/ 19 июня 2020

Вы передаете не rpost QuerySet, а строку в контекст

context =  {'rpost' : rpost}
...