likes
comments
collection
share

Django 入门教程及提供一个api接口

作者站长头像
站长
· 阅读数 18

一、项目创建

1. 创建项目

在自己电脑上,找一个目录;

django-admin startproject Hello #Hello为项目名  

2. 启动应用

  1. 切换到根目录
cd hello
  1. 启动项目
 # 8000 是端口,可以随便改,也可以不写
 python manage.py runserver 8000 
  1. 浏览器本地访问:127.0.0.1:8000/admin即可看到默认的首页。
Django 入门教程及提供一个api接口

3. 初始化数据库

1. 默认的Django数据库,默认是 sqlite3。

默认项目根目录下自动创建“db.sqlite3”文件,可以在settings.py里面指定“db.sqlite3”文件的存放路径或者更改成其他的数据库引擎,如MySQL

2. 因为我们通常使用的是 Mysql或者其他,就用Mysl

默认的是:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

修改后是:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'python_test',
        "USER": "test",
        "PORT": "3306",
        "PASSWORD": "test",
        "HOST": "127.0.0.1"
    }
}

同时在settings.py同级的目录中__init__.py 添加,这个很重要,不然执行会报错:

import pymysql
pymysql.install_as_MySQLdb()

3. 创建数据库迁移,产生sql脚本

  python manage.py makemigrations

4. 生成数据库表:

   python manage.py migrate

Django 入门教程及提供一个api接口 查看结果:

Django 入门教程及提供一个api接口

4. 创建管理员账号:

python manage.py createsuperuser

Django 入门教程及提供一个api接口

5. 可以开心登录了 http://127.0.0.1:8000/admin

Django 入门教程及提供一个api接口

二、如何给后端提供一个API ?

1. 在 hello目录中. 执行命令,创建一个app

python manage.py startapp blog

结果展示:

Django 入门教程及提供一个api接口

2. 在views.py 中添加以下代码:

from django.shortcuts import render

# Create your views here.

from django.http.response import HttpResponse
from django.http import JsonResponse
# Create your views here.
def Login(request):
    if request.method == 'POST':
        print(request)
        username = request.POST.get('username')
        print(username)
        return JsonResponse({"code": 200, "message": username,"data":"dd"},safe=False)

3. 在 urls.py 中添加:

from django.contrib import admin
from django.urls import path
## 1. 新加 1
from blog.views import Login

urlpatterns = [
    path('admin/', admin.site.urls),
    ## 2. 新加 2
    path('login/', Login),
]

Django 入门教程及提供一个api接口

4. 去掉csrf,即跨域。在settings.py 中,注释掉其中一行:

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
     ## 注释掉,不然接口调用会403
    # 'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

5. 启动,在postmain 或者 apifox 中调用接口:

显示结果如下:

Django 入门教程及提供一个api接口

项目代码地址:

地址 git