因为在一个项目需要接口服务。通过接口url可以实现写入和读取等功能。

django 搭建web服务

1)新建一个 django project

django-admin.py startproject project_name (例如本案例项目名为ads)

2)新建 app

python manage.py startapp app_name (例如本应用名为material)

一般一个项目有多个app, 当然通用的app也可以在多个项目中使用。

还得在工程目录的settings.py文件在配置

INSTALLED_APPS = [

'django.contrib.admin',

'django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.messages',

'django.contrib.staticfiles',

'rest_framework', #

'app_name',

]

在app/views.py下编写代码

def index(request):

return HttpResponse(u"你好")

在工程目录urls.py配置

from learn import views as learn_views

urlpatterns = [

url(r'^$', learn_views.index),

]

通过python manage.py runserver启动,就会看到我们输出的“你好”了

3)创建数据库表 或 更改数据库表或字段

在app下的models.py创建表

from django.db import models

class DeadWx(models.Model):

deadwx = models.CharField(max_length=100)

class Meta:

ordering = ['deadwx']

class CheckWx(models.Model):

did = models.CharField(max_length=50)

calltel = models.CharField(max_length=50)

user = models.CharField(max_length=500)

siteid = models.IntegerField()

agentid = models.IntegerField()

agentname = models.CharField(max_length=50)

wx = models.CharField(max_length=50)

status = models.CharField(max_length=50)

updatetime = models.CharField(max_length=50)

created_time = models.DateTimeField(auto_now_add=True)

class Meta:

ordering = ['-created_time']

运行命令,就可以生成对应的表

Django 1.7.1及以上 用以下命令

# 1. 创建更改的文件

python manage.py makemigrations

# 2. 将生成的py文件应用到数据库

python manage.py migrate

from django.db import models

在views.py文件里就可以获取数据库的数据

def create(request):

# 新建一个对象的方法有以下几种:

Person.objects.create(name='xiaoli', age=18)

# p = Person(name="WZ", age=23)

# p = Person(name="TWZ")

# p.age = 23

# p.save()

# 这种方法是防止重复很好的方法,但是速度要相对慢些,返回一个元组,第一个为Person对象,

# 第二个为True或False, 新建时返回的是True, 已经存在时返回False

# Person.objects.get_or_create(name="WZT", age=23)

s = Person.objects.get(name='xiaoli')

return HttpResponse(str(s))

写接口

接口使用rest_framework,rest_framework是一套基于Django 的 REST 框架,是一个强大灵活的构建 Web API 的工具包。

写接口三步完成:连接数据库、取数据、数据输出

1)连接数据库

在工程目录下的settings.py文件下配置, 需要提前安装好mysql或者mariadb等数据库。

DATABASES = {

# 'default': {

# 'ENGINE': 'django.db.backends.sqlite3',

# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),

# }

'default': {

'ENGINE': 'django.db.backends.mysql',

'NAME': 'mysql',

'USER': 'root',

'HOST': '127.0.0.1', # localhost

'PASSWORD': '123', # 密码

'PORT': 3306,

# show variables like 'character_set_database';

# 修改字段字符编码

# alter table spiders_weibo modify text longtext charset utf8mb4 collate utf8mb4_unicode_ci;

'OPTIONS': {'charset': 'utf8mb4'},

}

}

创建一个序列化Serializer类

提供序列化和反序列化的途径,使之可以转化为,某种表现形式如json。我们可以借助serializer来实现,类似于Django表单(form)的运作方式。在app目录下,创建文件serializers.py。

django restful mysql_如何用Django和restful搭建api接口服务相关推荐

  1. django配置在MySQL_怎么在Django中安装与配置mysql

    怎么在Django中安装与配置mysql 发布时间:2021-02-26 17:42:11 来源:亿速云 阅读:57 作者:Leah 本篇文章为大家展示了怎么在Django中安装与配置mysql,内容 ...

  2. Python Tornado搭建高并发Restful API接口服务

    Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快能实现高并发.得利于其 非阻塞的方式和对epoll的运用,Torn ...

  3. 如何用车辆历史违章查询API接口进行快速开发

    最近公司项目有一个车辆的历史违章查询显示的小功能,想着如果用现成的API就可以大大提高开发效率,所以在网上的API商店搜索了一番,发现了 APISpace,它里面的车辆历史违章查询API非常符合我的开 ...

  4. django restful 请求_利用 Django REST framework 构建 RESTful Web API

    利用 Django REST framework 构建 RESTful Web API 终于到了动手操作的环节啦,这一节,我们以师生管理系统为例,带领大家搭建一套 framework Web API. ...

  5. Django框架深入了解_01(Django请求生命周期、开发模式、cbv源码分析、restful规范、跨域、drf的安装及源码初识)

    阅读目录 一.Django请求生命周期: 二.WEB开发模式: 三.cbv源码分析: 四.认识RESTful 补充知识:跨域 五.基于原生django开发restful的接口 六.drf安装.使用.A ...

  6. python中redirect_详解如何用django实现redirect的几种方法总结

    用django开发web应用, 经常会遇到从一个旧的url转向一个新的url.这种隐射也许有规则,也许没有.但都是为了实现业务的需要.总体说来,有如下几种方法实现 django的 redirect. ...

  7. Drf从入门到精通一(API接口、Postman、Restful规范、序列化、快速使用drf、CBV源码分析)

    文章目录 一.前后端开发模式 二.API接口 三.接口测试工具Postman 四.Restful规范 五.序列化反序列化 六.DjangoRestFramework快速使用 七.CBV源码分析 一.前 ...

  8. Python Django框架学习07:Django表单

    HTML表单是网站交互性的经典方式. 本章将介绍如何用Django对用户提交的表单数据进行处理. HTTP 请求 HTTP协议以"请求-回复"的方式工作.客户发送请求时,可以在请求 ...

  9. Django Python:完整的BUNDLE + Django真实项目2021

    Django和python Bundle:从学习python的所有基础知识到高级python再到UI设计TKINTER,然后是Django 你会学到: 学习编程的基础知识 学习Python编程语言 学 ...

最新文章

  1. 2018年最后几天学什么?给你关注度最高的10篇文章
  2. 迁移 Nexus 软件仓库拾遗
  3. ErWin简单使用说明
  4. php建站静态,php网站如何生成静态
  5. 114. Flatten Binary Tree to Linked List 二叉树展开为链表
  6. watch 和 computed
  7. android 论坛_如何看待百度android吧萎靡现象与吧主的无所作为
  8. 软通动力华为java机考题库_华为机考笔试刷题-java-1
  9. spring+springmvc+hibernate 整合
  10. python小球弹弹弹_python实现弹跳小球
  11. keras 多GPU训练,单GPU权重保存和预测
  12. lucene创建索引的几种方式(一)
  13. python删除过期文件_python 删除过期文件的方法+源码
  14. linux的php探针使用,php探针在Linux下的安装过程
  15. docker视频教程 假装听听 应该还行
  16. Linux下设置桌面快捷方式(应用图标快速启动)
  17. 协同编辑--OT算法之外的世界
  18. 软考高级系统架构设计师系列论文二十四:论信息系统的安全风险
  19. html怎么画一个正方形,css3画一个正方体
  20. JavaWeb的体育用品商店的设计与实现

热门文章

  1. 产消合一。有感于华人新首富赵长鹏投资福布斯的话
  2. 桌面上计算机删除后怎么复原,电脑桌面上出现一个图标,删掉后重启桌面又恢复了?怎么才能彻底删除?...
  3. 银监会计算机专业考试,)(2015国家公务员考试银监会计算机专业考试分析
  4. Python入门经典笔记之安装numpy和matplotlib遇到的问题
  5. 神策杯 2018高校算法大师赛(个人、top2、top6)方案总结
  6. Android使用Google SMSRetrieverAPI监听短信
  7. 解决eso搜索优化问题 Vue 有对应的 Nuxt.js。
  8. 【Multisim仿真】全波整流电路仿真
  9. 为什么淘宝京东的首页这么快
  10. VCD零售/出租管理系统