[技術博客]Django框架-后端的搭建


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框架的初步使用,當然這只是其中的一個很基礎的方面,僅做到了實現相應的功能,對於項目的開展,還需要一個更深入的了解,也希望大家可以多多看一下官方文檔,理解為什么這樣做,這樣做的原因,而不是簡單的知道怎么做


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM