Django框架-后端的搭建
前言
我們團隊項目做的是一個app,而我負責的后端部分,而在尋找后端框架,如何使用框架我們也花費了大量時間去尋找和解決。所以,我寫了一個簡易的教程可以簡單的在短時間內學會Django框架的基礎使用,當然,這只是一個簡易的教程,而如果想對django了解更多,可以去django官方網站。
環境的部署
Django框架是用python書寫的,所以在進行環境的部署前你需要下載python,然后安裝兩個包,django,djangorestframework
pip install django
pip install djangorestframework
好了,現在你已經完成環境的部署了,接下來將介紹如何創建項目,並提供前端相應的接口
項目的創建
在你所需要創建的項目的目錄下打開cmd
例,在該目錄下創建我的項目(API)
在終端上輸入
django-admin.py startproject API
在該目錄下就會創建出一個新的文件夾,而這個文件夾就是我們的項目,現在我們就完成了項目的構建
app的使用
在django中,如果要使用數據庫,也就是mysql,一般是創建app,然后在app中的model.py里構建數據表。
接下來將展示如何創建app,並構建一個簡單的數據表為前端提供接口。
創建app
這是上一步創建的項目API
在終端輸入
cd API
python manage.py startapp first_app
然后在外層API目錄下就會有一個名為first_app的文件夾
修改配置文件
然后記住修改內層API的setting.py文件
也就是在這里我們需要新添加剛剛創建的新的app,first_app。
而對於數據庫的配置也是在該文件中
我們這里直接就使用了默認的數據庫,當然也可以使用其他的數據庫
app中數據表的構建
在后端最離不開的就是數據了,而在django中存儲數據是通過數據表來進行的,接下來將介紹如何創建一個簡單的數據表
在django的app文件夾下,這個文件就是專門來寫數據表的文件,這里我們來創建一個簡單的數據表
from django.db import models
# Create your models here.
class Student(models.Model):
objects = models.Manager()
student_id = models.CharField(max_length=100)
student_name = models.CharField(max_length=100)
前端接口
創建數據表后,就是寫給前端的接口了,而給前端的接口,類似於一個函數,接口的參數就是函數的參數,而接口的返回值就是函數的返回值,我們在該文件下寫接口函數
首先我們最常用的兩種類型接口就是get,post,其中get是取數據庫中數據,而post是在數據庫中插入數據。
先搭建好基本框架,還是在views.py里
from rest_framework.views import APIView
from rest_framework.response import Response
from .models import Student#引用上一把創建的數據表
class QueryStudent(APIView):
@staticmethod
def get(request):
"""
"""
@staticmethod
def post(request):
"""
"""
前端傳入的數據就這函數的參數request中,我們現在來簡單的實現這兩個接口
from rest_framework.views import APIView
from rest_framework.response import Response
from .models import Student
class QueryStudent(APIView):
@staticmethod
def get(request):
"""
"""
req = request.query_params.dict()#前端給的json包數據
student_name = req["student_name"]
student_id = Student.objects.filter(student_name=student_name).values("student_id")#提取數據表中數據
return Response(student_id)#返回數據,這里由於提取數據表中數據直接就是jason格式所以可以直接傳,其他的需要轉為json格式
@staticmethod
def post(request):
"""
"""
req = request.data#前端給的json包數據
student_id = req["student_id"]
student_name = req["student_name"]
Student(student_id=student_id,student_name=student_name).save()#保存數據
return Response()#不需要返回數據
在寫接口時需要注意是兩個方面,接受數據和返回數據,對於接受的數據get和post是不同的方法,而返回的數據需要是json格式的數據
接口的路徑
首先在app,first_app目錄下新建文件urls.py,並在該目錄下寫以下代碼
from django.urls import path
from . import views
urlpatterns = [
path('', views.QueryStudent.as_view()),
]
然后在內層API中urls.py做如下修改
from django.contrib import admin
from django.urls import path
from django.urls import include
urlpatterns = [
path('admin/', admin.site.urls),
path('student/', include('first_app.urls')),
]
好了,現在我們接口路徑就配置(http://127.0.0.1:8000/student/)完成,接下來進行驗證了。
注意這里的127.0.0.1:800,指的是你自己主機的本地地址,所以只有當你將django在本地跑起來了才能進行訪問
運行服務器
運行服務器前首先進行數據的遷移和構建,因為之前我們寫的model.py只是寫了代碼卻沒有實現
我們在終端輸入
python manage.py makemigrations first_app
python manage.py migrate
然后在終端輸入
py manage.py runserver
好了,現在就可以測試你以上步驟是否正確了
驗證后端
首先你需要下載軟件postman
打開軟件
點擊加號,創建一個調用接口頁面
我們首先驗證之前所寫get接口
http://127.0.0.1:8000/student/?student_name=1
由於數據表中無數據,所以返回值為空
再驗證post接口
我們插入的數據為
{
"student_id":"1",
"student_name":"xiaoming"
}
然后再次檢驗get接口
和之前插入的數據吻合
再看終端服務器對於這三次訪問的結果
好了,以上就完成了django框架的初步使用,當然這只是其中的一個很基礎的方面,僅做到了實現相應的功能,對於項目的開展,還需要一個更深入的了解,也希望大家可以多多看一下官方文檔,理解為什么這樣做,這樣做的原因,而不是簡單的知道怎么做