基于“python3.6.5“和“Django2.1“开发的的个人博客系统

简介: 基于“python3.6.5“和“Django2.1“开发的的个人博客系统

完整代码:https://download.csdn.net/download/weixin_55771290/87398968


1. cd bbs; 
2. tree


├── bbs
│ ├── __init__.py
│ ├── settings.py              # 配置文件
│ ├── urls.py                  # 路由配置
│ └── wsgi.py                  # web网关模块
├── blog
│ ├── admin.py                 # 后台管理
│ ├── apps.py                  # 应用
│ ├── forms.py                 # form组件
│ ├── __init__.py
│ ├── migrations               # ORM生成文件
│ │ ├── 0001_initial.py
│ │ ├── __init__.py
│ ├── models.py                # 数据库模型表
│ ├── templatetags             # tag归档模块
│ │ ├── __init__.py
│ │ ├── my_tags.py
│ ├── tests.py
│ ├── urls.py                  # 二层分级路由
│ └── views.py                 # 视图函数
├── manage.py                    # 启动文件
├── media                        # 媒体文件相关
│ ├── add_article_img
│ └── avatars
├── static                       # 静态文件
│ ├── bootstrap
│ ├── fontawesome
│ ├── img
│ ├── jquery-3.3.1.js
│ ├── kindeditor
│ ├── mystyle.css
│ ├── setupajax.js
│ └── theme
│     ├── cyy.css
│     └── jesi.css
├── templates                    # 模板文件
│ ├── add_article.html
│ ├── article_detail.html
│ ├── base.html
│ ├── home.html
│ ├── index.html
│ ├── left_menu.html
│ ├── login.html
│ └── register.html
└── util                         # 工具包
    ├── __init__.py
    ├── page.py

主要功能:


  • 用户的登录,注册,注销,使用滑动验证的人性化体验,并且对新注册用户,用户名重复进行了实时校验。
  • 对邮箱格式,重复,以及密码长度有着更为细致的安全体验。
  • 文章,页面,分类目录,标签的添加,删除,编辑等。
  • 文章删除做了更加人性化的二次确认优化。
  • 添加文章页面支持 编辑器,支持代码高亮,支持图片图文和地址等各种格式的插入。
  • 楼层回复功能,支持@用户的楼中楼回复。
  • 侧边栏功能,时间归档,文章分类,文章标签等。
  • 支持预防 XSS 攻击功能,防止恶意用户进行 XSS 代码攻击。
  • 支持点赞点踩功能,并且进行了人性化的设置。

安装


使用 pip 安装:

pip install virtualenv

virtualenv -p /usr/bin/python3.6 my_project_env

source my_project_env/bin/activate

pip3 install -Ur requirements/base.txt


配置


配置都是在 setting.py 中.部分配置迁移到了后台配置中。


很多 setting 配置我都是写在环境变量里面的.并没有提交到 github 中来.例如邮件部分的配置等.你可以直接修改代码成你自己的,或者在环境变量里面加入对应的配置就可以了.


test 目录中的文件都是为了 travis 自动化测试使用的.不用去关注.或者直接使用.这样就可以集成 travis 自动化测试了.


在 linux 环境中使用 Nginx+UWSGI+virtualenv+supervisor 来部署的脚本和 Nginx 配置文件.可以参考我的文章:


使用云服务器部署个人博客系统


有详细的部署介绍.

运行


修改 blog/setting.py 文件更新个人数据库配置,如下所示:


 DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'bbs',
        'USER': 'root',
        'PASSWORD': 'password',
        'HOST': 'host',
        'PORT': 3306,
    }
}

创建数据库

MySQL 数据库中执行:

CREATE DATABASE `bbs`;

然后终端下执行:


python manage.py makemigrations
python manage.py migrate


即可利用 Django 自带的 ORM 创建所需的 MySQL 库表。

创建超级用户

终端下执行:

1. `python manage.py createsuperuser`
2. 输入用户名以及相关密码后即可完成创建超级用户,登录admin.


开始运行:

最后执行: python manage.py runserver

浏览器打开: http://127.0.0.1/ 就可以看到效果了。

相关文章
|
15天前
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
101 44
|
11天前
|
弹性计算 数据管理 数据库
从零开始构建员工管理系统:Python与SQLite3的完美结合
本文介绍如何使用Python和Tkinter构建一个图形界面的员工管理系统(EMS)。系统包括数据库设计、核心功能实现和图形用户界面创建。主要功能有查询、添加、删除员工信息及统计员工数量。通过本文,你将学会如何结合SQLite数据库进行数据管理,并使用Tkinter创建友好的用户界面。
从零开始构建员工管理系统:Python与SQLite3的完美结合
|
3天前
|
Python
Django 框架的路由系统
Django 框架的路由系统
19 6
|
4天前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
垃圾识别分类系统。本系统采用Python作为主要编程语言,通过收集了5种常见的垃圾数据集('塑料', '玻璃', '纸张', '纸板', '金属'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对图像数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。然后使用Django搭建Web网页端可视化操作界面,实现用户在网页端上传一张垃圾图片识别其名称。
21 0
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
|
4天前
|
机器学习/深度学习 人工智能 算法
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
蔬菜识别系统,本系统使用Python作为主要编程语言,通过收集了8种常见的蔬菜图像数据集('土豆', '大白菜', '大葱', '莲藕', '菠菜', '西红柿', '韭菜', '黄瓜'),然后基于TensorFlow搭建卷积神经网络算法模型,通过多轮迭代训练最后得到一个识别精度较高的模型文件。在使用Django开发web网页端操作界面,实现用户上传一张蔬菜图片识别其名称。
20 0
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
|
15天前
|
机器学习/深度学习 数据采集 存储
使用Python实现智能农业灌溉系统的深度学习模型
使用Python实现智能农业灌溉系统的深度学习模型
66 6
|
16天前
|
安全 数据库 开发者
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第26天】本文详细介绍了如何在Django框架下进行全栈开发,包括环境安装与配置、创建项目和应用、定义模型类、运行数据库迁移、创建视图和URL映射、编写模板以及启动开发服务器等步骤,并通过示例代码展示了具体实现过程。
29 2
|
6月前
|
开发框架 开发者 Python
深入探究Python Web开发框架:Flask与Django
Python作为一种广泛应用于Web开发的编程语言,其拥有众多优秀的Web开发框架。本文将深入探讨其中两大知名框架——Flask与Django。通过对它们的概念与实践进行比较分析,帮助读者更好地理解和选择适合自己项目需求的Web开发框架。
|
6月前
|
开发框架 前端开发 JavaScript
Python 有哪些Web框架?比如Flask、Django等知识梳理
Python 有哪些Web框架?比如Flask、Django等知识梳理
357 1
|
6月前
|
安全 数据库 C++
Python Web框架比较:Django vs Flask vs Pyramid
【4月更文挑战第9天】本文对比了Python三大Web框架Django、Flask和Pyramid。Django功能全面,适合快速开发,但学习曲线较陡;Flask轻量灵活,易于入门,但默认配置简单,需自行添加功能;Pyramid兼顾灵活性和可扩展性,适合不同规模项目,但社区及资源相对较少。选择框架应考虑项目需求和开发者偏好。
279 0