创建项目SmartBlog2-Python博客系统实战图文教程
作者:huke88发布时间:2022年02月14日 08:01

虎课网为您提供字体设计版块下的创建项目SmartBlog2-Python博客系统实战图文教程,本篇教程使用软件为Python3、Django 3.2.6 、Mysql5.7、BootStrap3.4.1、 jQuery2.1.3,难度等级为中级拔高,下面开始学习这节课的内容吧!



那就开始今天的教程吧


1.要用语言来调用mysql,要用Python来驱动mysql,调用它的数据库编程接口,需要用到【init】,这个文件中要加几行代码,把pymysql的这个三方库引入进来,要import  pymysql ,


  调用pymysql的install_as_MySQLdb,这个就是项目启动的时候,自动的把数据库的三方库相关用到的库文件给导入进来。

2.下一步要建立应用模块,未来的代码不可能都写在SmartBlog这个项目的总目录下,需要按应用来管理,要创建一个自己定义的应用,要用Python脚本来执行manage.py,


 这个就是命令行的执行程序方式,刚才创建项目的时候叫startproject,要创建一个应用叫startapp,这个app起一个名字就叫blog,现在用的就不是一个windows系统的.exe命令,


 是用Python解释器执行了manage.py,然后传进来两个参数。

3.报出一个错误,这个错误是在django和mysql集成的时候经常看见的,它其实是说mysql客户端的版本比较低,它让我们用1.4.0,其实找不到1.4.0这个版本,就进到程序里边,


 用鼠标点base.py这个36行,就会进到它错误的位置,直接把它注释掉就可以了, 因为它是一个三方库,不是自定义的脚本,PyCharm会提示你是不是真的要改,点OK就行了,


 注释掉之后再来执行就是抛了这个错。

4.创建完blog  APP之后,需要注册自定义的应用模块,还是在settings.py中注册这个APP,找到APP  INSTALLED安装的APP,默认django有很多它内置的APP,复制一行,


 把里边的内容改成刚才的模块名字,在配置文件中把新建的应用加进去,并且注册到了项目中。

5.要创建数据库模型,在新建的blog应用下面要创建一个用户信息表,要让这个管理端来帮我们管理用户信息,管理端它默认自带一个user的用户体系,如何来扩展这个用户表,


 先定义一个model,这个model就是默认的用户表,django有一个orm体系,就是说它会用程序的model类映射成数据库的脚本,一旦错了很难往回去改,先不要着急的去创建数据模型。

6.要创建数据模型这个表,表名字和类名叫class,原来它默认就叫user,需要扩展user就是默认的用户信息表,要引入from  django.contrib它  .auth.models  import谁,import抽象的用户的父类,


 要把这个父类继承才能达到扩展它用户表的需要,这个是博客系统的用户信息表,它扩展了admin.auth.user 这个模型,扩展的字段就是user表原有的字段,不需要再重新定义一遍。

7.比方说昵称nikename,它是一个字符串的类型,定义一个最大的长度,在管理端显示的名字就叫昵称,配置下一个字段表示 telephone电话,它也是models.CharField,它的max_length是11手机号,


 然后unique=True,就是你不能够用手机号进行重复注册,注册比较特殊,它是一个图片的字段,然后upload_to,因为头像是涉及到上传图像域,输入框需要知道你上传的这个文件后台放在哪里,


 这个目录是你自己去定义的,默认所有的上传的头像都会放在这个下面,然后blank=True。

8.定义完了这些之后,每一个模型好的习惯是把str这个模块方法重写,username 就是用户的名,这个是父类里边带的,也就是user表上原来有的字段,最后有class的Meat,是为管理端,也是它有verbase_name,


 也就是说在管理端管理数据的时候,它显示的内容直接name要写全,这个就等于verbase_name,定义了一些汉字的描述,在后台管理的时候它就会按照指定的这个名字,展示这个表的一些相关信息。

9.因为默认的admin模块是以user表作为用户信息表的,扩展了系统默认的user用户表之后,需要将它注册到在settings里边,要增加一条配置,叫AUTH_USER_MODEL,就是系统授权的用户的模型,要带上应用的名字,


 blog下面的Reguser,这就是将新增的扩展Reguser表注册到了django项目中。

10.下一步就可以开始创建数据库模型,将表反射或者映射到真实的mysql数据库中,python  manage.py, 第一个命令是构建脚本语句,要【makemigrations】,然后执行,因为用到了图片的文件,要pip  install  pillow,


 运行完了这个命令之后,就会在这个目录下创建脚本,blog这个应用下,models.py增加Reguser模型,然后创建数据库表。

11.第二个命令叫【migrate】,就是要执行刚才创建的脚本,因为django它有一个非常强大的admin管理端,回到数据库中,刷新现在的这个表,里面reguser已经被创建好了,并且作为管理端默认的用户表,它带着group权限表,


 其它也都是一些权限,django_admin的一些相关表,包括建表的历史都是有的,blog是应用的名字,reguser是模型里边的类名,它会将数据库表映射成这样一个名字,这样对应关系就已经处理好了。

12.两个命令创建完了之后,数据库里面的模型就已经创建出来了, 这个时候可以启动项目服务,还是manage.py,命令叫【runserver】,可以加一个端口号,如果不加默认的是8000,直接来把它运行起来,没有报任何的异常和错误,


 回到浏览器,输入127.0.0.1,能看到这个页面说明django安装是成功了,因为现在还没有对整个的路由进行任何的配置,这个数据里边现在没写任何的东西,所以它只有admin的时候,它就会直接弹出这个默认的这个页面,


 里边自带的admin管理端已经启动起来了。

13.下一步来创建管理员的用户,回到命令行,还是manage.py,这个脚本是集成了django所有的运行命令,用的命令是create  createsuperuser,名字就叫admin,Email随便写 ,Password  admin  Password(again)  要再确认密码,


 有了这个用户之后,输入admin就能进去,说明这个管理端是好用的 ,但是这里有两个问题,第一个是刚才创建的user表去哪了,第二个是英文的能不能改成中文的。

14.第二个问题比较好解决,语言是在settings中,改成zh-hans这样的字符串就可以了,它就会settings中增加,把原来的en-us英文改成中文,如何来把这个启动项目封装成一个命令,看PyCharm工具,加Python的命令,名字是启动博客,


 后面可以选项目下的manage.py脚本,每次都是用python来执行它,里面的参数是runserver,它不占用终端,这边可以操作其它的内容,它也可以重新启动。

15.如何将自己的表注册到管理端,让管理端来做管理,在整个的blog应用下面有admin.py,需要把模型对这个类进行注册,先把它导入进来form models,当前目录下models  import,现在只有这一个模型,将Reguser注册到admin的这个管理当中,


 重启刷新,现在有admin的用户在,django  admin管理端最核心的价值就是快速开发。

以上就是创建项目SmartBlog2-Python博客系统实战图文教程的全部内容了,你也可以点击下方的视频教程链接查看本节课的视频教程内容,虎课网每天可以免费学一课,千万不要错过哦!


特别声明:以上文章内容仅代表作者huke88本人观点,不代表虎课网观点或立场。如有关于作品内容、版权或其它问题请与虎课网联系。
500+精品图书
20G学习素材
10000+实用笔刷
持续更新设计模板
立即领取

下载虎课APP

随时随地学技能
APP更方便
每天免费学课程
下载虎课网APP
随时随地学海量会员教程
特惠
充值
7折购
今日还在继续学习的你,太棒了!
7
折扣券可用于
年费无限VIP
立 即
使 用
此活动优惠不可与其他活动叠加使用
有效期:000000
消息
登录即可查看消息记录
建议
意见
官方
客服
在线咨询客服热线

您可以与在线客服进行沟通获得帮助

工作日:9:00~22:00节假日:9:00~18:00

联系在线客服

您可以电话联系客服进行沟通获得帮助

工作日:9:30~18:30

400-862-9191
虎课
积分
免费学习90000+个教程!
配套素材、源文件一键下载!
昨日学员已学习了23,727
并提交了249份作业!
登录后立即学习!
loading
微信扫码关注即可登录
您需要同意协议才可以进行登录
登录虎课网,每天免费学课程全站 90000+ 视频会员教程 | 每日可免费学 1
为确保账户信息安全
请先进行真实姓名验证后进行充值付款
立即验证