当前位置:   article > 正文

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

django有api吗

一、项目创建

1. 创建项目

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

django-admin startproject Hello #Hello为项目名  

  • 1
  • 2

2. 启动应用

  1. 切换到根目录
cd hello

  • 1
  • 2
  1. 启动项目
 # 8000 是端口,可以随便改,也可以不写
 python manage.py runserver 8000 

  • 1
  • 2
  • 3
  1. 浏览器本地访问:127.0.0.1:8000/admin即可看到默认的首页。

image.png

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',
    }
}


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
修改后是:
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'python_test',
        "USER": "test",
        "PORT": "3306",
        "PASSWORD": "test",
        "HOST": "127.0.0.1"
    }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
同时在settings.py同级的目录中__init__.py 添加,这个很重要,不然执行会报错:
import pymysql
pymysql.install_as_MySQLdb()

  • 1
  • 2
  • 3

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

  python manage.py makemigrations

  • 1
  • 2

4. 生成数据库表:

   python manage.py migrate

  • 1
  • 2

image.png 查看结果:

image.png

4. 创建管理员账号:

python manage.py createsuperuser

  • 1
  • 2

image.png

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

image.png

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

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

python manage.py startapp blog

  • 1
  • 2

结果展示:

image.png

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)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

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),
]


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

image.png

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',
]

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

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

显示结果如下:

image.png

---------------------------END---------------------------

题外话

感谢你能看到最后,给大家准备了一些福利!

感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/865162
推荐阅读
相关标签