django入门
1. 介绍
1.1 初步介绍
django主要是用来搭建web服务器和web应用的,就跟java做web服务一样。
安装django库的命令
pip install django
如果是使用pycharm这样的软件,就可以直接创建一个django项目了,如果是输入命令创建,就输入
django-admin startproject myproject
就会生成一个文件夹叫做myproject,里面有一个python文件manage.py和文件夹myproject。
myproject下面有四个python文件,分别是
__init__.py#这个文件是导入包必须的,不用解释
setting.py#储存服务器所有的参数设置
urls.py#管理URL请求的路径名以及这些路径对应的函数,这些函数位于views.py文件中。
wspi,py#与web服务器进行通信的模块
1.2 举个例子
如果你什么都不做,直接启动刚刚创建的项目,那么它的默认端口就是8000
你可以通过网页输入一个网址:127.0.0.1:8000
那么它就返回一个默认的网页。
如果你想做一个自己的服务,就需要在urls.py文件中加入自己的路径,然后写一个函数处理
from django.contrib import admin
from django.urls import path
from myurl.login import Login
urlpatterns = [path('admin/', admin.site.urls),path('login/', Login),#这是我自己添加的
]
这里就有两个路径,分别是admin和login,admin后面的admin.site.urls代表一个函数,如果你访问127.0.0.1:8000/admin/,它就会返回一个登录页面。下面那个是我自己写得一个很简单的函数,如果你访问127.0.0.1:8000/login/,它就会返回我定义的一个结果。
我把这个函数写在myurl文件夹下,建一个叫做login.py的文件,然后写一个函数
from django.http import HttpResponse
from django.http import requestdef Login(request):return HttpResponse("欢迎登录")
访问之后的结果为:
当然,如果你不想使用8000端口也没问题,你能够用其他空闲端口,比如你想使用8081端口输入命令:
python manage.py runserver 8081
1.3 小小的解释
实际上这就是REST,客户端发送http请求过来,然后veiw接收data,转给model进行业务处理,处理完再交给view,view再把处理后的data转给template对数据进行加工使数据可以在网页上显示,然后交给veiw进行渲染,最后view把data返送给客户端。
2. 创建django应用
为了方便管理各种项目,我们可能需要不同的包,因为业务太多,我们就需要分类管理了。创建一个新的应用,使用下面的命令
python manage.py startapp machine_learning_project
这里我就创建了一个machine_learning_project应用。
然后我们就可以把之前的login函数写到这个文件夹的views.py文件里面。
再次访问之前的路径,就会不一样了。
2.1. model层
model层就跟java的数据库交互一个意思,django的model一般写在创建的应用的models.py里面,也就是上一步创建的应用。
from django.db import models# Create your models here.
class Feature(models.Model):Hydraulic_Pressure = models.FloatField()Coolant_Pressure = models.FloatField()Air_System_Pressure = models.FloatField()Coolant_Temperature = models.FloatField()Hydraulic_Oil_Temperature = models.FloatField()Spindle_Bearing_Temperature = models.FloatField()Spindle_Vibration = models.FloatField()Tool_Vibration = models.FloatField()Spindle_Speed = models.FloatField()Voltage = models.FloatField()Torque = models.FloatField()Cutting = models.FloatField()
在创建model后,需要将这些字段映射到后台数据库,需要三个步骤完成
(1) 在django项目中(也就是最开始的创建的项目machine_learning_project)的setting.py文件中,找到seting文件,然后再install_app里面加入刚刚创建的machine_learning,这样他就会找到我刚刚创建的项目
(2). 执行命令
python manage.py makeimgaretions
它会根据我的model创建一个迁移文件,存放再migration文件夹下面
(3).执行命令
python manage.py migrate
它会根据迁移文件生成字段到数据库的映射,这个数据库默认情况下是sqlite3
2.2 view层
view层负责对数据库进行操作,比如数据的增删查改
2.3 template层
负责渲染数据,就跟网页一样。