一、安装配置

django本质是python的一个类库,直接使用pip Install djiango安装即可.
需要注意的是,目前的django最新版本只支持python3,如果是低版本的python,可以使用pip install Django==*.*
django版本与python版本对应关系参照下表:

Django Version Python Version
1.11 2.7,3.4,3.5.3.6
2.0 2.7,3.4,3.5,3.6,3.7
2.1,2.2 3.5,3.6,3.7

二、创建项目

2.1 常用命令

  • django-admin startproject ProjectName (在当前目录下创建一个 Django 项目)
  • python manage.py runserver ip:port (启动服务器,默认ip和端口为http://localhost:8000/)
  • python manage.py startapp AppName (新建 App) python manage.py
  • make migrations (显示并记录所有数据的改动)
  • python manage.py migrate (将改动更新到数据库)
  • python manage.py createsuperuser(创建超级管理员)
  • python manage.py dbshell(数据库命令行)
  • python manage.py (查看命令列表)

2.2 创建项目

使用startproject创建项目MTEUser后,进入项目目录,创建并编辑view.py文件:

from django.http import HttpResponse

def login(request):
 return HttpResponse("I'm login now")

2.3、 配置鉴权

编辑项目的配置文件setting.py,添加鉴权配置:

REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': (
        'rest_framework.permissions.IsAuthenticated',
    ),
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'rest_framework_jwt.authentication.JSONWebTokenAuthentication',
        'rest_framework.authentication.SessionAuthentication',
        'rest_framework.authentication.BasicAuthentication',
    ),
}

安装django的jwt库:

pip install djangorestframework
pip install djangorestframework-jwt

编辑urls.py文件

from rest_framework_jwt.views import obtain_jwt_token
from django.conf.urls import url
from django.contrib import admin
from . import view

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^login', view.login),
    url(r'^api-token-auth/', obtain_jwt_token),
]

2.4 启动项目

django默认使用sqlite做数据库,先通过

django migrations

更新数据库,然后启动项目:

python manage.py runserver 127.0.0.1:8001

就可以访问

http://127.0.0.1:8001/login

clipboard.png

通过python manage.py createsuperuser创建超级管理员

2.5 新增用户

通过超级管理员登录http://127.0.0.1:8001/admin,创建新用户gxy

三、压力测试

使用jmeter对鉴权接口加压,看django的性能表现。
使用的是双核,8G内存的centos机器,200并发的测试结果:

clipboard.png

tps只有2.6,最大时延到了77s


关翔宇
10 声望3 粉丝

即使是一只蜗牛,不停努力的奔跑,也能到达目标