1.Django 版本和python 版本对应关系
Django version | Python versions |
---|---|
2.2 | 3.5, 3.6, 3.7, 3.8 (added in 2.2.8), 3.9 (added in 2.2.17) |
3.0 | 3.6, 3.7, 3.8, 3.9 (added in 3.0.11) |
3.1 | 3.6, 3.7, 3.8, 3.9 (added in 3.1.3) |
3.2 | 3.6, 3.7, 3.8, 3.9 |
4.0 | 3.8, 3.9, 3.10 |
2.安装django
pip install Django==3.0
3.创建工程
// 创建一个工程
django-admin startproject my_django_project
cd my_django_project
// 创建一个应用
python3 manage.py startapp my_django_app
创建工程后INSTALLED_APPS中注册创建的应用
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'voco_app',
]
4.启动工程
如果使用的是阿里云,因为阿里云分内网ip和公网ip,所以先添了一个访问规则
命令行启动工程
python3 manage.py runserver 阿里云内网ip:自定义端口
打开浏览器输入:阿里云外网ip:自定义端口
如果出现如下界面,说明没在django中配置允许访问的ip,打开settings.py,直接将ALLOWED_HOSTS设置为所有ip都可以访问
ALLOWED_HOSTS = ['*']
再次启动工程,出现如下界面表示启动成功
5.设计一个api
在urls.py中添加一个接口,这个接口在views.py中实现,所以要import views
from firstWeb import views
urlpatterns = [
path('admin/', admin.site.urls),
path('index/', views.index)
]
在views.py中实现接口,注意如果用post请求,Django有CSRF保护机制,可以加上csrf_exempt装饰器关闭保护
from django.http import HttpResponse,JsonResponse
import json
from django.views.decorators.csrf import csrf_exempt
# Create your views here.
@csrf_exempt
def index(request):
print("run index!")
if request.method == "POST":
req = json.loads(request.body)
print (req)
return JsonResponse({"status":"BS.200","msg":"publish article sucess."})
使用postman模拟请求
同时程序也收到了post请求
6.后台管理
先创建一个管理员账号,输入账号密码,然后请求admin域名:
python3 manage.py createsuperuser
修改密码:
python3 manage.py changepassword username