1、项目说明
基于python+Django+Mysql的个人博客系统项目实战
项目需要安装pycharm专业版以及MySQL环境(环境搭建和破解可以看我的B站里的视频有讲解)
- 首先需要创建数据库数据库名字叫做 db_blog
- 运行sql导入数据或者也可以直接用命令生成(视频有讲解)
- 需要安装一下下面的模块(如果运行提示有模块未安装,安装一下即可,命令同下,改一下模块名即可)
项目需要安装 Django、及其附带的其他一些模块
- Django
- Pillow
- asgiref
- django-ranged-response
- django-simple-captcha
- mysqlclient
- pip
- pytz
- setuptools
- six
- sqlparse
安装命令如下: - pip install -i https://pypi.tuna.tsinghua.edu.cn/simple asgiref
2、项目主要技术
-
python编程技术
-
django框架技术
-
mysql数据库技术
-
前端技术
3、项目结构
-
BlogSystem 主程序(项目的配置文件、主路由)
-
myBlog 博客主页以及后台管理系统功能实现
-
media 博客文章中图片媒体的存储文件夹
-
static 静态文件存放文件夹(css,js)
-
templates 前端页面存放文件夹
-
manage.py 程序的入口
4、项目主要功能
-
博客发布与管理
-
博客页面展示
-
博客分类管理
5、部分源码
models.py
import uuid
from django.contrib.auth.models import AbstractUser
from django.db import models
# 用户表
class User_admin(AbstractUser):
id = models.UUIDField(primary_key=True, default=uuid.uuid4())
nickName = models.CharField(max_length=255, verbose_name="昵称")
password = models.CharField(max_length=255, verbose_name="密码")
createTime = models.DateTimeField(auto_now_add=True, verbose_name="创建时间")
class Meta:
db_table = "user_admin"
# 文章表
class Article(models.Model):
emuns = [
(0, '草稿'),
(1, '发布')
]
id = models.UUIDField(primary_key=True, default=uuid.uuid4())
title = models.CharField(max_length=255, verbose_name="标题")
tag = models.CharField(max_length=255, verbose_name="标签")
classify_id = models.CharField(max_length=255, verbose_name="文章分类")
content = models.TextField(verbose_name="内容")
status = models.IntegerField(default=0, choices=emuns, verbose_name="状态")
createTime = models.DateTimeField(auto_now_add=True, verbose_name="创建时间")
updateTime = models.DateTimeField(auto_now=True, verbose_name="修改时间")
class Meta:
db_table = "article"
ordering = ('createTime',)
# 分类表
class Classify(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4())
name = models.CharField(max_length=255, verbose_name="分类名")
createTime = models.DateTimeField(auto_now_add=True, verbose_name="创建时间")
class Meta:
db_table = "classify"
ordering = ('createTime',)
# 图片表
class Imgs(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4())
name = models.CharField(max_length=255, verbose_name="图片名称")
url = models.FileField(upload_to='uploads/%Y%m%d/', verbose_name="图片地址")
createTime = models.DateTimeField(auto_now_add=True, verbose_name="创建时间")
class Meta:
db_table = "imgs"
6、运行截图
7、项目总结
本项目是一个非常适合学习练手的项目,对我们的Django框架技术以及开发经验的提升,完善简历提高技能都有有很大的帮助,推荐大家学习研究这个项目,搞懂其中的业务逻辑流程以及各个知识点非常关键。
项目资料截图:
资料获取地址:https://h5.m.taobao.com/awp/core/detail.htm?ft=t&id=696393248882
B站视频讲解地址:https://www.bilibili.com/video/BV1VY411y776/
注:其他问题请参看视频讲解,都有介绍,一定要认真看完哦!
代码编写、视频录制不易,感谢您的支持,祝您学习愉快!