Django 入门教程及提供一个api接口
一、项目创建
1. 创建项目
在自己电脑上,找一个目录;
django-admin startproject Hello #Hello为项目名
2. 启动应用
- 切换到根目录
cd hello
- 启动项目
# 8000 是端口,可以随便改,也可以不写
python manage.py runserver 8000
- 浏览器本地访问:127.0.0.1:8000/admin即可看到默认的首页。

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
查看结果:
4. 创建管理员账号:
python manage.py createsuperuser
5. 可以开心登录了 http://127.0.0.1:8000/admin
二、如何给后端提供一个API ?
1. 在 hello目录中. 执行命令,创建一个app
python manage.py startapp blog
结果展示:
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),
]
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 中调用接口:
显示结果如下:
项目代码地址:
转载自:https://juejin.cn/post/7227453332440547387