Django实现明星简介博客

该博客详细介绍了如何使用Python的Django框架构建一个包含查阅明星信息、发帖、分类、分享等功能的博客系统。通过MTV模式,实现了前后端分离,包括模型、模板和视图的创建,以及全文搜索和后台管理功能。还涉及到Haystack的使用来增强搜索功能,并对中文文本进行了分词处理。
摘要由CSDN通过智能技术生成

摘要

该博客系统是一个关于明星简介的blog,大概包含了以下功能:查阅具体明星帖子、照片和具体介绍、近期明星文章、分享功能、发帖功能、标签分类,并且支持全文搜索
可以在后台admin界面管理帖子、类别和标签

1,引言

此博客系统使用python django实现的,功能较少,主要是为了练习刚学的django
Django 是一个由 Python 编写的一个开放源代码的 Web 应用框架。
使用 Django,只要很少的代码,Python 的程序开发人员就可以轻松地完成一个正式网站所需要的大部分内容,并进一步开发出全功能的 Web 服务 Django 本身基于 MTV 模型,即 Model(模型)+ Template(模板)+View(视图)设计模式,MTV 模式使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。

2,系统结构

MTV模式(Model-Template–view)是软件工程中的一种软件架构模式。为了各组件间保持松耦合关系
除了mtv三层之外,还需要一个 URL 分发器,它的作用是将一个个 URL 的页面请求分发给不同的 View 处理,View 再调用相应的 Model 和 Template,MTV 的响应模式如下所示:

MTV
系统主要结构:

  1. 首页展示2. 帖子分类3. 帖子归档4. 近期文章5. 关于博主6. 全文搜索7. 发布帖子

3,实现代码

环境搭建
创建django项目并添加一个APP:post,创建一个叫blog的数据库

前端模板:

发帖功能:
创建post应用
创建模型类
rom django.db import models
from ckeditor_uploader.fields import RichTextUploadingField

class Category(models.Model):
cname = models.CharField(max_length=30, unique=True, verbose_name=u’类别名称’)
class Meta:
db_table = ‘t_category’
verbose_name_plural = u’类别’
def str(self):
return u’Category:’ + self.cname
class Tag(models.Model):
tname = models.CharField(max_length=30, unique=True, verbose_name=u’标签名称’)

class Meta:
    db_table = 't_tag'
    verbose_name_plural = u'标签'
def __str__(self):
    return u'Tag:' + self.tname

class Post(models.Model):
title = models.CharField(max_length=100, unique=True)
desc = models.CharField(max_length=100)
content = RichTextUploadingField(null=True, blank=True)
created = models.DateTimeField(auto_now_add=True)
category = models.ForeignKey(Category, on_delete=models.CASCADE)
tag = models.ManyToManyField(Tag)
class Meta:
db_table = ‘t_post’
verbose_name_plural = u’帖子’
def str(self):
return u’Post:’ + self.title
映射数据库表

python manage.py makemigrations post
python manage.py migrate

利用后台类发布帖子

from django.contrib import admin
from .models import *

class PostModelAdmin(admin.ModelAdmin):
list_display =

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值