Django-rest-framework学习(-)Serialization
标签(空格分隔): 互联网 API Django
前提
Python (2.7, 3.2, 3.3, 3.4, 3.5)
Django (1.7+, 1.8, 1.9)
虚拟环境搭建
pip install virtualenv
virtualenv frankstar //会在当前目录下创建一个目录 即改虚拟环境里所需要的一些资源都会在这个目录下
cd frankstar
source ./bin/activate //进入虚拟环境
deactivate // 退出虚拟环境
(frankstar) ➜ frankstar
安装相应的一些包
(1)可以将一些你觉得合适的包放在一个文件中,使用
pip install -r <filename> 统一安装
例: requirements.txt
django == 1.8.0
djangorestframework
pygments
mysql-python == 1.2.5
(2)当然也可以选择想起一个安装一个这样的方式
正式开始
django-admin.py startproject tutorial
cd tutorial
python manage.py startapp snippets
我们需要将我们的应用snippets和rest-framework 加入到自带的配置文件中INSTALLED_APPS 如下:
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'snippets.apps.SnippetsConfig',
'rest_framework',
)
顺便将数据库的配置也添加进去, 如下:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'tutorial',
'USER': 'root',
'PASSWORD': '',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
创建模型
# coding:utf-8
from django.db import models
from pygments.lexers import get_all_lexers
from pygments.styles import get_all_styles
LEXERS = [item for item in get_all_lexers() if item[1]]
LANGUAGE_CHOICES = sorted([(item[1][0], item[0]) for item in LEXERS])
STYLE_CHOICES = sorted((item, item) for item in get_all_styles())
class Snippet(models.Model):
"""docstring for Snippet"""
# 定义该模型的字段及相应的类型
created = models.DateTimeField(auto_now_add=True)
title = models.CharField(max_length=100, blank=True, default='')
code = models.TextField()
linenos = models.BooleanField(default=False)
language = models.CharField(choices=LANGUAGE_CHOICES, default='python', max_length=100)
style = models.CharField(choices=STYLE_CHOICES, default='friendly', max_length=100)