标签分类
当前位置:首页 > > Django电子书网盘下载
Django开发宝典 Django开发宝典
qq_171338

qq_171338 提供上传

资源
10
粉丝
3
喜欢
571
评论
7

    Django开发宝典 PDF 全书高清版

    Django电子书
    • 发布时间:

    给大家带来的一篇关于Django相关的电子书资源,介绍了关于Django、开发方面的内容,本书是由清华大学出版社出版,格式为PDF,资源大小85.5 MB,王友钊、黄静编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:7.9

  • Django开发宝典 PDF 下载
  • 下载地址:https://pan.baidu.com/s/1TwECeur1JLjiAyR4rtDAAA
  • 分享码:8nm9
  • 读者评价

    Django中硬生生的插入一章JAVA的内容,毫无逻辑。python前面配图版本为2.4.1后面变成了2.7.5。16年9月的书,django版本竟是1.4.0。

    书名叫《django开发宝典》,里面只有1章在讲Django,其他在讲Java,数据库,网络编程,嵌入式都有?黑人问号脸?

    编辑推荐

    Django是一款基于Python语言及MVC设计模式实现的Web应用开发框架,作为一款可使Web开发工作愉快并且高效的Web开发框架,能够以*小的代价构建和维护高质量的Web应用。《Django开发宝典》的作者在搭建智慧农业服务平台时的应用服务程序采用Django框架实现,本书的主要内容也是由此而来。书中内容来源于实际项目,由浅入深地带领读者进行Django的开发,*终使读者掌握项目的开发流程,从而运用于自己的项目开发中。

    内容介绍

    本书共分9章,第1章介绍HTML、CSS、JavaScript等技术在界面设计方面的应用; 第2章主要介绍MySQL的安装和配置及对数据库的操作等内容; 第3章对Java语言的内容、功能、特性和对面向对象、多线程及网络编程等内容做了详细的讲解; 第4~6章主要介绍Django应用框架和Nginx、uWSGI服务器的安装、测试等内容; 第7~8章主要介绍Linux的开发流程及线程、进程、网络通信的内容; 第9章对用户认证系统的项目实例进行了部署与设计,使读者对项目的开发流程有基本的了解。 本书可作为高等院校电子信息、电气自动化、计算机等专业的本科生和硕士研究生教材,也可供工程技术人员和高校相关专业师生参考。

    内容节选

    第一个Django项目

    一但你安装好了python,django和(可选的)数据库及相关库,你就可以通过创建一个project,迈出开发django应用的第一步。

    项目 是 Django 实例的一系列设置的集合,它包括数据库配置、Django 特定选项以及应用程序的特定设置。

    如果第一次使用 Django,必须进行一些初始化设置工作。 新建一个工作目录,例如 /home/username/djcode/ ,然后进入该目录。

    这个目录应该放哪儿?

    有过 PHP 编程背景的话,你可能习惯于将代码都放在 Web 服务器的文档根目录 (例如 /var/www 这样的地方)。 而在 Django 中,把任何Python代码和web server的文档根(root)放在一起并不是一个好主意。因为这样做有使人能通过网路看到你原代码的风险. 那就太糟了。

    把代码放置在文档根目录 之外 的某些目录中。

    转到你创建的目录,运行命令django-admin.py startproject mysite。这样会在你的当前目录下创建一个目录。mysite

    注意

    如果用的是 setup.py 工具安装的 Django , django-admin.py 应该已被加入了系统路径中。

    如果你使用一个trunk版本,你会在 djtrunk/django/bin 下发现 django-admin.py 。你将来会常用到django-admin.py,考虑把它加到你的系统路径中去比较好。 在Unix中, 你也可以用来自/usr/local/bin 的符号连接, 用一个命令, 诸如

    sudo ln -s /path/to/django/bin/django-admin.py /usr/local/bin/django-admin.py

    . 在Windows中, 你需要修改你的 PATH 环境变量.

    如果你的django是从linux发行版中安装的,那么,常会被django-admin.py替代。django-admin

    如果在运行时,你看到权限拒绝的提示,你应当修改这个文件的权限。django-admin.py startproject 为此, 键入 cd /usr/local/bin转到django-admin.py所在的目录,运行命令chmod +x django-admin.py

    startproject 命令创建一个目录,包含4个文件:

    mysite/
      __init__.py
      manage.py
      settings.py
      urls.py
    
    

    文件如下:

    •     __init__.py :让 Python 把该目录当成一个开发包 (即一组模块)所需的文件。 这是一个空文件,一般你不需要修改它。
    •     manage.py :一种命令行工具,允许你以多种方式与该 Django 项目进行交互。 键入python manage.py help,看一下它能做什么。 你应当不需要编辑这个文件;在这个目录下生成它纯是为了方便。
    •     settings.py :该 Django 项目的设置或配置。 查看并理解这个文件中可用的设置类型及其默认值。
    •     urls.py:Django项目的URL设置。 可视其为你的django网站的目录。 目前,它是空的。

    尽管这些的文件很小,但这些文件已经构成了一个可运行的Django应用。
    运行开发服务器

    为了安装后更多的体验,让我们运行一下django开发服务器看看我们的准系统。

    django开发服务是可用在开发期间的,一个内建的,轻量的web服务。 我们提供这个服务器是为了让你快速开发站点,也就是说在准备发布产品之前,无需进行产品级 Web 服务器(比如 Apache)的配置工作。 开发服务器监测你的代码并自动加载它,这样你会很容易修改代码而不用重启动服务。

    如果你还没启动服务器的话,请切换到你的项目目录里 (cd mysite ),运行下面的命令:

    python manage.py runserver
    
    

    你会看到些像这样的

    Validating models...
    0 errors found.
    
    Django version 1.0, using settings 'mysite.settings'
    Development server is running at http://127.0.0.1:8000/
    Quit the server with CONTROL-C.
    
    

    这将会在端口8000启动一个本地服务器, 并且只能从你的这台电脑连接和访问。 既然服务器已经运行起来了,现在用网页浏览器访问 http://127.0.0.1:8000/ 。 你应该可以看到一个令人赏心悦目的淡蓝色Django欢迎页面。 它开始工作了。

    在进一步学习之前, 一个重要的,关于开发网络服务器的提示很值得一说。 虽然 django 自带的这个 web 服务器对于开发很方便,但是,千万不要在正式的应用布署环境中使用它。 在同一时间,该服务器只能可靠地处理一次单个请求,并且没有进行任何类型的安全审计。 发布站点前,请参阅第 20 章了解如何部署 Django 。

    更改这个 Development Server 的主机地址或端口

    默认情况下, runserver 命令在 8000 端口启动开发服务器,且仅监听本地连接。 要想要更改服务器端口的话,可将端口作为命令行参数传入:

    python manage.py runserver 8080
    

    通过指定一个 IP 地址,你可以告诉服务器–允许非本地连接访问。 如果你想和其他开发人员共享同一开发站点的话,该功能特别有用。 `` 0.0.0.0`` 这个 IP 地址,告诉服务器去侦听任意的网络接口。

    python manage.py runserver 0.0.0.0:8000
    
    

    完成这些设置后,你本地网络中的其它计算机就可以在浏览器中访问你的 IP 地址了。比如: http://192.168.1.103:8000/ . (注意,你将需要校阅一下你的网络配置来决定你在本地网络中的IP 地址) Unix用户可以在命令提示符中输入ifconfig来获取以上信息。 使用Windows的用户,请尝试使用 ipconfig 命令。

    目录

    • 第1章前端技术
    • 1.1初识HTML
    • 1.2走进HTML
    • 1.3CSS基础
    • 1.4CSS样式
    • 1.5CSS框模型
    • 1.6CSS定位
    • 1.7JavaScript基础
    • 1.8JavaScript HTML DOM
    • 1.9JavaScript库
    • 1.9.1JavaScript库简介
    • 1.9.2jQuery
    • 第2章MySQL
    • 2.1MySQL的安装和配置
    • 2.2MySQL基本操作
    • 2.2.1数据库相关操作
    • 2.2.2表的操作
    • 2.2.3数据的操作
    • 2.2.4数据记录查询
    • 2.3数据的备份与恢复
    • 2.4访问数据库
    • 第3章Java程序开发
    • 3.1Java简介
    • 3.2Java多线程编程
    • 3.2.1一个线程的生命周期
    • Django开发宝典
    • 3.2.2创建一个线程
    • 3.2.3线程安全与共享资源
    • 3.2.4死锁
    • 3.2.5线程的调度
    • 3.2.6Java同步块
    • 3.2.7并发容器
    • 3.2.8线程池的使用
    • 3.3Java网络编程
    • 3.3.1Java网络编程基础
    • 3.3.2非阻塞式的Socket编程
    • 3.3.3安全网络通信
    • 第4章Django应用框架
    • 4.1Django概述
    • 4.2安装
    • 4.3视图(View)和统一资源定位符(URL)
    • 4.3.1创建视图
    • 4.3.2创建URLconf
    • 4.3.3正则表达式
    • 4.3.4Django请求处理方式
    • 4.3.5关于Request与Response
    • 4.3.6动态视图内容
    • 4.3.7动态URL
    • 4.4模板(Template)
    • 4.4.1模板系统基本知识
    • 4.4.2如何使用模板系统
    • 4.4.3模板渲染
    • 4.4.4字典和Context替换
    • 4.4.5深度变量的查找
    • 4.4.6Context对象的操作
    • 4.4.7理念与局限
    • 4.4.8在视图中使用模板
    • 4.4.9模板加载
    • 4.4.10locals()技巧
    • 4.4.11include模板标签
    • 4.4.12模板继承
    • 4.5模型(Model)
    • 4.5.1在视图中进行数据库查询的基本方法
    • 4.5.2MTV开发模式
    • 4.5.3创建APP应用程序
    • 4.5.4在Python代码中定义模型
    • 4.5.5编写模型
    • 4.5.6模型安装
    • 4.5.7基本数据访问
    • 4.5.8Unicode对象
    • 4.5.9数据过滤
    • 4.5.10获取单个对象
    • 4.5.11数据排序
    • 4.5.12连锁查询
    • 4.5.13更新多个对象
    • 4.5.14删除对象
    • 4.6Django实例——搭建一个博客
    • 4.7Session
    • 4.8常用服务器命令
    • 第5章Nginx模块开发
    • 5.1Nginx简介
    • 5.2Nginx配置
    • 5.2.1安装Nginx
    • 5.2.2Nginx命令行控制参数
    • 5.2.3Nginx配置的基本方法
    • 5.2.4rewrite重定向
    • 5.3简单的HTTP子请求模块开发
    • 5.4简单的HTTP过滤模块开发
    • 5.5SSL模块
    • 第6章uWSGI服务器
    • 6.1uWSGI概述
    • 6.2uWSGI安装及运行命令
    • 6.3uWSGI选项配置
    • 第7章嵌入式开发
    • 7.1系统概述
    • 7.1.1嵌入式系统的基本概念
    • 7.1.2嵌入式系统的特点
    • 7.1.3嵌入式系统的发展趋势
    • 7.2嵌入式Linux基础
    • 7.2.1Linux文件系统
    • 7.2.2Linux目录结构
    • 7.2.3文件类型及文件属性
    • 7.2.4嵌入式Linux开发环境构建
    • 7.2.5Minicom的安装
    • 7.3嵌入式C语言开发流程
    • 7.3.1Vim编辑器
    • 7.3.2GCC编译器
    • 7.3.3GDB调试器
    • 7.3.4GDBServer远程调试
    • 7.3.5Make工程管理器
    • 7.4文件I/O
    • 7.4.1文件I/O编程基础
    • 7.4.2基本I/O操作
    • 7.4.3标准I/O操作
    • 7.4.4Linux串口编程
    • 7.4.5串口使用详解
    • 7.4.6串口编程实例
    • 7.4.7Modbus通信协议
    • 7.4.8ZigBee通信协议
    • 7.5Linux进程
    • 7.5.1进程概述
    • 7.5.2Linux进程编程
    • 7.5.3Zombie进程
    • 7.5.4进程间的通信和同步
    • 7.5.5管道通信
    • 7.5.6共享内存通信
    • 7.5.7其他通信方式
    • 7.6线程概述
    • 7.6.1线程的分类和特性
    • 7.6.2线程的实现
    • 7.6.3线程属性
    • 7.6.4线程之间的同步与互斥
    • 第8章网络编程
    • 8.1套接字编程简介
    • 8.2套接字选项
    • 8.2.1SOL_SOCKET协议族选项
    • 8.2.2IPPROTO_IP选项
    • 8.3基本TCP套接字编程
    • 8.3.1socket概述
    • 8.3.2connect()函数
    • 8.3.3bind()函数
    • 8.3.4listen()函数
    • 8.3.5accept()函数
    • 8.3.6fork()与exec()函数
    • 8.3.7close()函数
    • 8.3.8TCP编程实例
    • 8.4基本UDP套接字编程
    • 8.4.1recvfrom()和sendto()函数
    • 8.4.2UDP的connect()函数
    • 8.4.3UDP程序实例
    • 第9章用户认证系统实例
    • 9.1静态资源部署
    • 9.1.1Nginx配置
    • 9.1.2静态资源
    • 9.2Django应用处理程序设计
    • 9.2.1项目创建及配置
    • 9.2.2数据库设计
    • 9.2.3应用处理程序设计
    • 附录ACSS源码
    • 附录BHTML文件
    • 参考文献

    读书笔记

    Django如何开发简单的查询接口详解

    前言

    Django处理json也是一把好手,有时候在工作中各个部门都会提供自己的相关接口,但是信息也只是单方的信息,这时候需要运维将各个部门的信息进行集成,统一出一个查询接口或页面,方便其他部门同事使用,接下来就介绍一下Django如果操作json。

    首先介绍一下通过url获取json的方法:

    import urllib2

    我们的需求是做一个集成的信息查询系统,包括简单的IP信息查询(省份运营商等),以及设备信息(如果是登记在资产管理库中的),还有IP归属(是否是客户源站IP),以及是否为其他部门的存储IP,另外还有错误日志具体信息查询,等等功能,这些功能信息的提供分属于不同的部门,有的是给的url,有的是给的文件,如何将这些功能都揉在一起变成一个接口,确实比较考验逻辑思维,接下来通过代码来具体介绍:

    首先我们要分清楚要查询的信息都有什么特征,如果信息非常类似就需要用不同的参数来区分了,如果信息差异明显可以简单通过逻辑顺序判断。

    我们先从查询主机名开始写,因为主机名只在资产系统中有登记,是相对固定的数据:

    url = "http://3.3.3.3/api/v1/demo..." #先定义了几个url的查询接口,配合我们后面查询来用,当然这些接口吐出的数据得是json格式。 
    urlks3 = "http://2.2.2.2/api/v1/demo..."
    ...
     
     types = ['hostname','pubip','otherinfo','isp','province','city'] # 先定义我们这个接口能吐哪些东西
     if host: # 判断查询的是否为主机名
      hostcheck = str(Ipinfo.objects.values('hostname','pubip','otherinfo').filter(hostname=host)) # 在数据库中查询结果
      if hostcheck: 
       hostcheck = re.sub(r'\'', '\"', hostcheck) # 修查询出的数据改格式为json格式
       maininfo = json.loads(hostcheck) # 将数据库查询出的数据导出到对象
       pubip = maininfo['pubip'] # 这时就可以取出json对应的内容了
       checkipurl = ...+pubip
       data=urllib2.urlopen(checkipurl).read() # 读取某个url中的json内容
       ipinfo = json.loads(data) # 将上一步获取的数据导出到对象
       # 下面是各种赋值,就很随意了
       maininfo['isp'] = ipinfo['info']['isp'] 
       maininfo['province'] = ipinfo['info']['province']
       maininfo['city'] = ipinfo['info']['city']
       # 接下来判断这个请求是否查询了错误日志信息,这个是因为主机名跟错误信息内容比较接近,只能靠参数来判断了  
       if erres:
        erres = re.sub(r' ', '%20', erres)
        checkerreurl = ...
        errepage = urllib2.urlopen(checkerreurl)
        erredata = errepage.read()
        print erredata
        erreinfo = json.loads(erredata)
        maininfo['ch_exp']= erreinfo['ch_exp']
      # 下面是如果查询不到主机信息,就补充空信息避免程序出现异常
      else:
       for item in types:
        maininfo[item] = '-'
      return JsonResponse(maininfo,json_dumps_params={'ensure_ascii':False})

    接下来我们查询IP信息:

     if ipadd:
      hostcheck = str(Ipinfo.objects.values('hostname','pubip','otherinfo').filter(Q(pubip=ipadd)...)[0:1]) #多个字段查询可以用Q方法 
      if hostcheck:
       hostcheck = re.sub(r'\'', '\"', hostcheck)
       maininfo = json.loads(hostcheck)
       pubip = maininfo['pubip']
       checkipurl = ...+ipadd
       page=urllib2.urlopen(checkipurl)
       data=page.read()
       ipinfo = json.loads(data)
       maininfo['isp'] = ipinfo['info']['isp']
       maininfo['province'] = ipinfo['info']['province']
       maininfo['city'] = ipinfo['info']['city']

    期间还有其他的联合查询,逻辑组合可以自行安排。

    接下来介绍一下读取json文件并提供查询的方法:

    我们的需求是判断IP是否属于客户源站,其中跟客户交互的两个部门都定期导出了客户源站信息文件,但仅仅是文件,而且这两个文件的格式还不太一样

    我们要根据这两个文件来查询IP是否属于客户源站:

    # 打开文件句柄,这部分一定要写到函数以外,如果文件很小并且要支持实时更新,可以写到函数内
    with open('/.../source.json','r') as file_object: # 这个文件是es直接导出的一个大的json,每个k、v都一一对应
     srcinfo = file_object.read()
     srcjson = json.loads(srcinfo)
    with open('/.../total.json','r') as tot_object: # 这个文件是一个列表式的json,元素较多,元素中是键值对。
     totinfo = tot_object.read()
     totjson = json.loads(totinfo)

    接下来定义函数:

    def chsrcip(request):
     exit_flag = [] # 给循环打个退出标签 等下有用
     ip = request.GET.get('ip')
     maininfo = {}
     maininfo['hostname']= '-' # 先给个默认值
     maininfo['otherinfo']= '-'
     if re.search('^(\d+\.\d+\.\d+.\d+)$',ip):
      for item in srcjson:
       for k,v in item.items():
        if ip in v:
         maininfo['hostname']=k
         maininfo['otherinfo']= u'客户源站' 
         exit_flag = 'true' # 由于IP数量庞大,所以找到第一个IP时就停止循环并退出整个for循环,这时候就用到了退出标签。
         break
       if exit_flag: 
        break
      for item in totjson: # 进入第二个for循环查询查询具体的客户名称
       if ip in item['originAddresses']:
        maininfo['hostname']= item['domain'],item['userId']
        maininfo['otherinfo']= u'客户源站'
        break
      return JsonResponse(maininfo,json_dumps_params={'ensure_ascii':False})

    以上的调用方法根据数据名称不同可自行修改。

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对码农之家的支持。

    上一篇:Learning PHP设计模式  下一篇:PHP经典实例

    展开 +

    收起 -

    Django相关电子书
    学习笔记
    网友NO.606854

    详解配置Django的Celery异步之路踩坑

    人生苦短,我用python。 看到这句话的时候,感觉可能确实是很深得人心,不过每每想学学,就又止步,年纪大了,感觉学什么东西都很慢,很难,精神啊注意力啊思维啊都跟不上。今天奶牛来分享自己今天踩的一个坑。 先说说配置过程吧,初学Django,啥都不懂,当然,python也很水,啥东西都得现查现用。Django安装还是很简单的。 apt-get install python3pip3 install django 嗯,就是两条命令的事儿。 再说celery的安装: pip3 install celerypip3 install redis==2.10.6 目前奶牛所在的时间redis for python的版本是redis-3.0.1,为什么要用2.10.6呢?因为3.0.1压根配置就无法运行!!! 继续安装redis server apt-get install redisservice redis start 然后就可以按照celery的官方教程走了,放个URL:http://docs.celeryproject.org/en/latest/django/index.html python3 manage.py startproject nenewcd nenewpython3 manage.py startapp nenewapptouch ./nenew/celery.pytouch ./nenewapp/tasks.py 然后增加nenew/nenew/celery.py内容为 from __future__ import absolute_import, unicode_literalsimport osfrom celery import Celery# set the default Django settings module for the 'celery' program.os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'nenew.settings')app = Celery('nenew')# Using a string here means the worker doesn't have to serialize# the configuration object to child processes.# - namespace='CELERY' means all celery-related configura……

    网友NO.338211

    Django网络框架之HelloDjango项目创建教程

    本文实例讲述了Django网络框架之HelloDjango项目。分享给大家供大家参考,具体如下: 这里将带你从零开始创建一个Django项目,包含完整的MTV架构、创建子应用,及访问静态资源; 项目GitHub地址:https://github.com/ouyangsuo/HelloDjango; @创建Django项目 首先进入特定的虚拟开发环境,参考创建虚拟开发环境 在终端cd到特定目录,执行: django-admin.py startproject HelloDjango 查看工程目录结构 sudo apt install treetree HelloDjango/ 工程的创建也可以在PyCharm中通过新建工程并选择DjangoProject来实现; @工程目录说明 HelloDjango _init_.py 代表HelloDjango是一个包模块 可以在其中做全局的初始化动作,例如:导入和初始化数据库 settings.py Django项目的配置文件,包含但不限于如下配置: 本项目引用的组件; 已安装的应用; 数据库配置; 时间语言配置; 静态文件访问地址和存储路径; urls.py 用于维护项目的URL路由映射(当客户端访问时由哪个函数进行响应); 响应函数通常写在项目和子应用的views.py文件中; 路由定义例如下图,表示当用户通过 http://yourhost:port/home/ 发起 访问时,该请求通过views.py中的home函数进行响应(此处的views.py需要手动创建); from HelloDjango import viewsurl(r'^home/$', views.home) wsgi.py 定义WSGI的接口信息; 用于服务器部署; 通常使用系统默认设……

    网友NO.624981

    详解将Django部署到Centos7全攻略

    Django部署到Cenos7需要安装大量的依赖包, 有很多坑需要踩, 这里是踩坑后探索出的标准化步骤 实验环境: 腾讯云centos7 用centos7.5镜像创建容器(这步操作按自己需求来, 不使用docker的可以跳过这步) docker run -t -i --name fangyuanxiaozhan-com -p 9000:9000 centos:7.5.1804 /bin/bash 创建名为fangyuanxiaozhan-com的容器 将容器的9000端口映射到物理机的9000端口 推荐使用centos:7.5.1804这个镜像, 开始我用了最新版的centos镜像, 安装lxml的时候, 报出了内核崩溃的错误, 花了整整一天也没有解决, 最后老老实实换了centos:7.5.1804的镜像, 问题顺利解决~ 安装各种依赖包 yum -y groupinstall "Development tools"yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel gcc automake autoconf libtool make wget 下载python3.7源码包 wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz 解压源码包 tar -xvJf Python-3.7.0.tar.xz 进入源码目录, 并编译安装 cd Python-3.7.0./configure --prefix=/usr/local/bin/python3makemake install 将python3和pip3添加到系统环境变量中 ln -s /usr/local/bin/python3/bin/python3 /usr/bin/python3ln -s /usr/local/bin/python3/bin/pip3 /usr/bin/pip3 验证安装效果 yum install whichwhich python3which pip3 升级pip pip3 install --upgrade pip 安装扩展包 yum install epel-release 安装python-pip yum in……

    网友NO.949819

    django Serializer序列化使用方法详解

    Serializer序列化器 定义Serializer 1. 定义方法 Django REST framework中的Serializer使用类来定义,须继承自rest_framework.serializers.Serializer。 例如,我们已有了一个数据库模型类BookInfo class BookInfo(models.Model): btitle = models.CharField(max_length=20, verbose_name='名称') bpub_date = models.DateField(verbose_name='发布日期', null=True) bread = models.IntegerField(default=0, verbose_name='阅读量') bcomment = models.IntegerField(default=0, verbose_name='评论量') image = models.ImageField(upload_to='booktest', verbose_name='图片', null=True) 我们想为这个模型类提供一个序列化器,可以定义如下: class BookInfoSerializer(serializers.Serializer): """图书数据序列化器""" id = serializers.IntegerField(label='ID', read_only=True) btitle = serializers.CharField(label='名称', max_length=20) bpub_date = serializers.DateField(label='发布日期', required=False) bread = serializers.IntegerField(label='阅读量', required=False) bcomment = serializers.IntegerField(label='评论量', required=False) image = serializers.ImageField(label='图片', required=False) 注意:serializer不是只能为数据库模型类定义,也可以为非数据库模型类的数据定义。serializer是独立于数据库之外的存在。 2. 字段与选项 常用字段类型: 字段 字段构造方式 BooleanField BooleanField() NullBooleanField NullBooleanField() CharField CharField(max_length=None, min_length=None, ……

    Copyright 2018-2019 xz577.com 码农之家

    版权责任说明