django restful

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/QFire/article/details/82931049

$ pip3 install djangorestframework

$ pip3 install django-filter

$ pip3 install Markdown

Scrum板数据图

在任何项目中,对数据的建模都是关键的第一步,需要考虑的要点:

  • 任务板通常见于Scrum风格的开发中,用于在当前的sprint中管理任务
  • 任务从后台日志中被转移到待办任务集合中
  • 过程中可以通过多种状态来跟踪进度,例如“进行中”或者“测试中”
  • 一个任务要成为“已完成”状态,之前的任务必须是它的一部分

$ django-admin.py startproject scrum

$ cd scrum/

$ python3 manage.py startapp board

项目配置

scrum/settings.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # Third party apps
    'rest_framework',
    'rest_framework.authtoken',
    # Internal apps
    'board',
]

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

scrum/urls.py

from django.conf.urls import include, url
from rest_framework.authtoken.views import obtain_auth_token

urlpatterns = [
    url(r'^api/token/', obtain_auth_token, name='api-token'),
]
from django.db import models
from django.conf import settings
from django.utils.translation import ugettext_lazy as _

class Sprint(models.Model):
	name = models.CharField(max_length=100, blank=True, default='')
	description = models.TextField(blank=True, default='')
	end = models.DateField(unique=True)

	def __str__(self):
		return self.name or _('Sprint ending %s') % self.end

class Task(models.Model):
	STATUS_TODO = 1
	STATUS_IN_PROGRESS = 2
	STATUS_TESTING = 3
	STATUS_DONE = 4

	STATUS_CHOICES = (
		(STATUS_TODO, _('Not Started')),
		(STATUS_IN_PROGRESS, _('In Progress')),
		(STATUS_TESTING, _('Testing')),
		(STATUS_DONE, _('Done')),
	)

	name = models.CharField(max_length=100)
	description = models.TextField(blank=True, default='')
	sprint = models.ForeignKey(Sprint, blank=True, null=True, on_delete=models.DO_NOTHING)
	status = models.SmallIntegerField(choices=STATUS_CHOICES, default=STATUS_TODO)
	order = models.SmallIntegerField(default=0)
	assigned = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, blank=True, on_delete=models.DO_NOTHING)
	started = models.DateField(blank=True, null=True)
	due = models.DateField(blank=True, null=True)
	completed = models.DateField(blank=True, null=True)

	def __str__(self):
		return self.name

$ subl board/models.py

$ python3 manage.py makemigrations board

$ python3 manage.py migrate

$ python3 manage.py createsuperuser
Username (leave blank to use 'dong'): demo
Email address: [email protected]

设计API

链接资源文件

猜你喜欢

转载自blog.csdn.net/QFire/article/details/82931049
今日推荐