老师我的消息通知文字没有出来效果

来源:7-3 新闻详情:实现新闻列表与新闻详情

Buck_messic

2020-08-29 01:32:21

http://img.mukewang.com/climg/5f493f6409d8a21109020241.jpg

http://img.mukewang.com/climg/5f493efb0968ff7700000000.jpg

from django.db import models

# Create your models here.
from utils import contans


class Slider(models.Model):
   """系统轮播图"""

   name = models.CharField("名称",max_length=32)
   desc = models.CharField("描述",max_length=100,null=True,blank=True)
   types =models.SmallIntegerField("展示位置",
                                   choices=contans.SLIDER_TYPES_CHOICES,
                                   default=contans.SLIDER_TYPES_INDEX)
   img = models.ImageField("图片",upload_to="slider")
   reorder = models.SmallIntegerField("排序",default=0,help_text="数字越大,越靠前")
   start_time = models.DateTimeField("生效开始时间",null=True,blank=True)
   end_time = models.DateTimeField("生效结束时间",null=True,blank=True)

   target_url = models.CharField("跳转地址",max_length=256,null=True,blank=True)
   is_valid = models.BooleanField("是否删除",default=True)

   created_at = models.DateTimeField("创建时间",auto_now_add=True)
   update_at = models.DateTimeField("最后修改时间",auto_now=True)

   class Meta:
       db_table = "ststem_slider"
       ordering = ['-reorder']


class News(models.Model):
   """新闻及通知"""
   types =  models.SmallIntegerField("类型",choices=contans.NEWS_TYPES_CHOICES,default=contans.NEWS_TYPE_NEW)

   title = models.CharField("标题",max_length=255)
   content = models.TextField("内容")
   reorder = models.SmallIntegerField("排序", default=0, help_text="数字越大,越靠前")
   start_time = models.DateTimeField("生效开始时间", null=True, blank=True)
   end_time = models.DateTimeField("生效结束时间", null=True, blank=True)
   view_count = models.IntegerField("浏览次数",default=0)

   is_top = models.BooleanField("是否置顶",default=False)
   is_valid = models.BooleanField("是否删除", default=True)

   created_at = models.DateTimeField("创建时间", auto_now_add=True)
   update_at = models.DateTimeField("最后修改时间", auto_now=True)

   class Meta:
       db_table = "system_news"
       ordering = ["-reorder"]


from django.db.models import F
from django.shortcuts import render, get_object_or_404

from system.models import  News
# Create your views here.
from utils import contans


def news_list(request,template_name='news_list.html'):
   """新闻列表"""
   news = News.objects.filter(types=contans.NEWS_TYPE_NEW,
                              is_valid=True)
   return  render(request,template_name,{
       'news':news
   })



def news_detail(request,template_name='news_info.html'):
   """新闻详情"""
   news_obj = get_object_or_404(News,pk=pk,is_valid=True)
   #每查看一次,浏览次数+1
   news_obj.view_count = F('view_count') + 1
   news_obj.save()
   #重新从数据库中取数据
   news_obj.refresh_from_db()
   return render(request,template_name,{
       'news_obj':news_obj
   })


from django.conf.urls import url, include
from system import views

urlpatterns = [
   #新闻列表
   url(r"news/$",views.news_list,name='news_list'),
   # 新闻详情
   url(r"news/(?P<pk>\d+)$",views.news_detail,name='news_detail')
]


news_info.html:

{% extends 'base.html' %}
{% block title %}
<title>新闻详情</title>
{% endblock %}
{% block container %}
   <!--主体-->
   <header class="wy-header">
     <div class="wy-header-icon-back"><span></span></div>
     <div class="wy-header-title">新闻详情</div>
   </header>
   <div class="weui-content">
     <article class="weui-article">
       <h1>{{ new_obj.title }}</h1>
       <h3 class="wy-news-time">{{new_obj.created_at|date }}浏览次数:{{ new_obj.view_count }}</h3>
       <section class="wy-news-info">
         <p>
          {{ new_obj.content|safe }}
         </p>
         <p>
           <img src="upload/ban1.jpg" alt="" />
           <img src="upload/ban2.jpg" alt="" />
         </p>
       </section>
     </article>
   </div>
{% endblock %}

news_list.html:

{% extends 'base.html' %}
{% block title %}
   <title>新闻列表</title>
{% endblock %}
{% block container %}
   <!--主体-->
   <header class="wy-header">
     <div class="wy-header-icon-back"><span></span></div>
     <div class="wy-header-title">新闻列表</div>
   </header>
   <div class="weui-content">
     <div class="weui-cells wy-news-list">
         {% for item in news_list %}
       <a class="weui-cell weui-cell_access"
          href="{% url 'system:news_detail' item.pk %}">
         <div class="weui-cell__bd">
           <p>{{item.title }}</p>
         </div>
         <div class="weui-cell__ft"></div>
       </a>
         {% endfor %}
     </div>
   </div>
{% endblock %}
{% block footer %}
   <script type="text/javascript" src="js/jquery.Spinner.js"></script>
{% endblock %}

写回答

2回答

好帮手慕燕燕

2020-08-29

同学你好,index方法中,渲染视图的代码,'news_list'引号内不能有空格

http://img.mukewang.com/climg/5f49fb1a09dfc68805870650.jpg

加油,同学,祝学习愉快~~~

0

好帮手慕燕燕

2020-08-29

同学你好,同学的问题是说精选推荐上方的新闻没有显示文字标题吗

http://img.mukewang.com/climg/5f49d384096b462207730107.jpg

  1. 确定MySQL对应的表中是否有新闻数据

  2. 在首页视图函数index方法中,检查news_list语句的写法,是否能取到数据库中的数据,打印输出一下是否取值成功

    http://img.mukewang.com/climg/5f49d33209d9034f11800577.jpg

加油,祝学习愉快~~~

0
huck_messic
h 老师确认了数据库中有内容 ,打印不出来 id types title content reorder start_time end_time is_top is_valid created_at update_at 下面是数据 1 11 欢迎进入积分商城 <span style=color'#f00'>欢迎光临</span> 11 2020-08-27 18:48:52.000000 2020-08-28 18:49:58.000000 1 1 2020-08-26 18:49:10.000000 2020-08-28 18:49:15.000000 from datetime import datetime from django.shortcuts import render from utils import contans from system.models import Slider, News def index(request): """查询轮播图""" slider_list = Slider.objects.filter(types=contans.SLIDER_TYPES_INDEX) now_time = datetime.now() news_list = News.objects.filter(types=contans.NEWS_TYPE_NEW, is_top=True, is_valid=True) print(news_list) return render(request,"index.html",{ 'slider_list':slider_list, ' news_list': news_list })
h020-08-29
共1条回复

0 学习 · 3562 问题

查看课程