利用Django实现一个博客(附全部源码)
来源:互联网 发布:sql server 实例名 编辑:程序博客网 时间:2024/06/16 14:36
不论什么语言,学Web开发必做的项目——个人博客。
本次项目基于Python的知名Web框架Django,从数据库到视图逻辑、再到模板语法,完整的走了一遍MTV开发流程。
markdown非常适合写博客、新闻类文章,也快成为了开发者写开发文档的标配了。所以本博客项目的文档内容,数据库存储的数据,也就是markdown格式内容,在前端显示需要转成HTML语法。
开发环境:Python3.6+pycharm+Django
1:安装Django
conda install django
python的包管理工具,anaconda的安装及配置,详见博客http://www.jianshu.com/writer#/notebooks/19640626/notes/20743107
IDE工具pycharm的安装,详见博客http://www.jianshu.com/writer#/notebooks/19640626/notes/20767808
2:创建Django项目
创建一个项目,名称为blogs
django-admin.exe startproject blogs
3:进入项目目录,启动项目
python manage.py runserver
访问http://127.0.0.1:8000,提示worked,证明正常运行
4:生成APP
python manage.py startapp blog
命令执行完成后,在工程目录下会生成blog目录
注意:app的名称不能和项目名称一样
5:添加URL路由
在urls.py文件中,编写如下代码:
6:在settings文件中安装blog的app
7:新建相关文件夹
在blog目录下,新建templates、static两个文件夹(文件夹名字千万不能错),templates文件夹中,存放html文件;static文件夹存放资源文件,该文件夹中新建css、img、js三个文件夹,存放对应的资源文件。利用pycharm在templates文件目录下新建一个blog.html的空html文件
6:编写响应函数
安装markdown,pip install markdown
响应函数如下所示:
7:在数据库中创建默认表格
python manage.py migrate
8:创建超级管理员的用户名和密码
python manage.py createsuperuser,然后逐步设置用户名和密码,密码至少8个字符
访问127.0.0.1:8000/admin,输入设置好的用户名和密码,如下所示:
9:新建博客模型
10:把model转换成中间件
python manage.py makemigrations
11:生成数据库表
12:在admin.py文件中注册数据库表,使其在管理页面中显示
13:增加数据
14:在前端页面调研后台数据显示
15:运行效果如下
完整代码下载地址:https://gitee.com/TianYaBenXiong/django_blog
- 利用Django实现一个博客(附全部源码)
- 用QT实现Wake On Lan功能(附全部程序源码)
- 月光博客 (附源码 )
- 开源|如何利用Tensorflow实现语义分割全卷积网络(附源码)
- 拍照与图片上传,附全部源码!
- 利用Django快速开发博客
- Django内置过滤器详解附代码附效果图--附全部内置过滤器帮助文档
- 【分享】分享一个基于SSH实现的简单学生选课系统(附源码)
- C#实现视频会议系统 GGMeeting(附源码)
- C#实现自动升级(附源码)
- QT实现五子棋(附源码)
- Java五子棋的实现(附源码)
- C#实现自动升级(附源码)
- C#实现自动升级(附源码)
- 如何利用python模拟登录(附源码)
- 利用中转输出表制作HijackDll(附工具源码)
- C#实现外部图片的拖拽到应用程序的简单功能,附全部源码,供有需要的参考
- Qt一步一步实现插件调用(附源码)、Qt一步一步实现插件通信(附源码)
- 某项目接口任务失败引发的思考
- Ubuntu环境下安装最新稳定版的node.js-v8.9.3
- 横屏EditText不需要额外的输入框,软键盘判断
- JS面向对象
- 物联网安全新技术的一些探索
- 利用Django实现一个博客(附全部源码)
- java中&和&&,|和||的区别
- 强类型,弱类型,动态类型,静态类型
- erp项目
- highcharts 图表中的“highcharts.com.cn”标签隐藏
- 梯度下降原理
- keybd_event使用方法
- No resource found that matches the given name: attr 'android:keyboardNavigationCluster'
- Git