- RealFriend小组
- 2018.5.22
$ sudo apt install nginx libmysqlclient-dev virtualenv gcc g++
$ cd /path/to/RealFriend
$ virtualenv venv -p python3
$ source venv/bin/activate
$ pip install -r requirements.txt -i https://pypi.mirrors.ustc.edu.cn/simple/
$ sudo apt install mysql-server
$ sudo mysql_secure_installation
mysql > $ CREATE DATABASE realfriend DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
项目使用了rest_framework
内置的验证机制,验证方法是令牌验证,使用的方法如下:
- 首先在settings.py中添加
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticated',
),
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.TokenAuthentication',
),
}
- 在settings.py的INSTALLED_APPS中添加
'rest_framework.authtoken'
- 添加获取Token的view(这里添加在了根APP的views.py中)
- 开发阶段默认Token不打开,因此将
REST_FRAMEWORK
中的'rest_framework.permissions.IsAuthenticated'
改成'rest_framework.permissions.AllowAny'
Django在测试的过程中会自动创建测试数据库,但是默认是latin1
字符集,因此需要手动指定字符集,方法是在settings.py
的'DATABASES'下添加'TEST': {'CHARSET': 'utf8mb4'}
。
- 获取实体列表时,不要获取所有字段