虎课网为您提供字体设计版块下的创建项目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博客系统实战图文教程的全部内容了,你也可以点击下方的视频教程链接查看本节课的视频教程内容,虎课网每天可以免费学一课,千万不要错过哦!