一、安装django
pip install django
二、创建django容器
1、django-admin.py startproject demo
![](https://img.haomeiwen.com/i10772326/ba58258eaa39f96d.png)
: 项目的容器。
manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
demo/init.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
demo/settings.py: 该 Django 项目的设置/配置。
demo/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。
demo/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。
进入demo目录 运行python3 manage.py可查看manage.py相关命令
![](https://img.haomeiwen.com/i10772326/6467cd75f851f604.png)
2、创建个app项目
python3 manage.py startapp demo_app
![](https://img.haomeiwen.com/i10772326/8af05c8a314e9a77.png)
-migrations 数据库变更相关记录(你不要删,也不要改)
-admin.py 后台管理(创建项目如果没有选,就没有)
-apps.py app的相关配置,不用管
-models.py 数据库相关(重点)
-tests.py 测试相关(不用管)
-views.py 视图函数(重点)
三、启动项目
python3 manage.py runserver
python3 manage.py runserver 8004 #指定端口
![](https://img.haomeiwen.com/i10772326/b8d738784a7eda2f.png)
浏览器输入127.0.0.1:8005
![](https://img.haomeiwen.com/i10772326/75f5217c3f433daa.png)
代表启动成功
四、开始实现后端接口
(1)、配置数据库
![](https://img.haomeiwen.com/i10772326/4eecbbd34ecc63d5.png)
我们将他配置成我们熟悉的mysql
<1>、安装pip3 install pymysql
<2>、 在此目录下,添加配置
![](https://img.haomeiwen.com/i10772326/57a7fa4b73609a63.png)
<3>、配置数据库连接信息
![](https://img.haomeiwen.com/i10772326/8c0f898acbd30e2e.png)
(2)、建立数据库表
(1)、设计数据库模型
<1>、进入models.py
from django.db import models
# Create your models here.
#创建一个数据表
class UserType(models.Model):
id = models.AutoField(primary_key=True) #AutoField唯一主键
caption = models.CharField(max_length=16)
class UserInfo(models.Model):
# CharField类型不能为空,最少要指定一个长度
user = models.CharField(max_length=32) #CharField为类型
email = models.EmailField(max_length=32)
pwd = models.CharField(max_length=32)
user_type = models.ForeignKey(UserType,null=True, on_delete=models.SET_NULL) #关联外键,UserType表的id作为关联
![](https://img.haomeiwen.com/i10772326/2731e61ba071319c.png)
(2)、初始化数据库
<1>、配置你创建的app
![](https://img.haomeiwen.com/i10772326/2ea3ecb4ee7a4324.png)
<2>、运行
python3 manage.py makemigrations
python3 manage.py migrate
这个两个命令的作用请查看:
https://blog.csdn.net/sinat_23133783/article/details/108692194
<3>、运行成功结果:
![](https://img.haomeiwen.com/i10772326/9e9cf1e01871bb6e.png)
<4>、查看数据库
![](https://img.haomeiwen.com/i10772326/51ae23b902b26c96.png)
生成创建的数据表
(3)、实现一个接口
<1>、进入view文件编写你的接口
from django.shortcuts import render
from django.views.decorators.http import require_http_methods
from django.core import serializers
from django.http import JsonResponse
import json
from .models import UserType #引入model.py的模型对象
# Create your views here.
@require_http_methods(["GET"]) #限制http接收类型
def add_book(request):
response = {}
try:
book = UserType(caption=request.GET.get('caption')) #接口参数
book.save() #保存
response['msg'] = 'success'
response['error_num'] = 0
except Exception as e:
response['msg'] = str(e)
response['error_num'] = 1
return JsonResponse(response) #以json类型返回数据
![](https://img.haomeiwen.com/i10772326/0ce9f0615ddaba91.png)
<2>、配置接口路由,给外部访问
![](https://img.haomeiwen.com/i10772326/989d96286d37fd6b.png)
demo/urls.py 提供了默认路由配置,这里我们在app下创建个urls.py文件进行引入:
![](https://img.haomeiwen.com/i10772326/6cdb6d404f69a3d8.png)
配置路由:
from django.conf.urls import url,include
from demo_app import views #引入views文件
urlpatterns = [url(r'add_book$', views.add_book, ), #配置路由
# url(r'show_books$', views.show_books, ),
]
![](https://img.haomeiwen.com/i10772326/ebfaec4b3deafeaf.png)
引入全局:
"""demo URL Configuration
The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/2.1/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.conf.urls import url, include
from django.contrib import admin
from django.urls import path
from django.views.generic import TemplateView
import demo_app.urls
# urlpatterns = [
# path('admin/', admin.site.urls),
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^api/', include(demo_app.urls)), #引入 r'^api/',每个接口的前缀
url(r'^$', TemplateView.as_view(template_name="index.html")),
]
![](https://img.haomeiwen.com/i10772326/1d5bb9dfb7193f41.png)
使用postman访问我们的接口:
记得启动项目: python3 manage.py runserver 8005
![](https://img.haomeiwen.com/i10772326/684ce85b731cfdd9.png)
未完待续。。。。。。
网友评论