编辑推荐

Django入门指南:环境准备、原理讲解、实战投票系统

内容简介

本书第一部分介绍Django的环境准备工作;第二部分讲解Web开发框架的基本原理;第三部分带领读者开发一款投票系统,使读者从整体上认识Django;第四部分详细介绍Django的各知识点,针对每一个知识点,本书都提供了相应的代码示例,通过实际运行效果加深读者对Django的理解。本书适合有一定Python Web开发基础的读者阅读。

章节目录

封面页

书名页

版权页

内容简介

作者简介

前言 Foreword

目录

第1章 走进Django的世界

1.1 认识Django

1.2 版本选择

1.3 搭建开发环境

1.3.1 安装Python

1.3.2 安装Django

第2章 Web开发框架

2.1 Socket编程

2.2 MTV框架

第3章 搭建第一个Django网站

3.1 创建项目

3.2 运行项目

3.3 创建投票应用

3.4 开发第一个视图

3.5 配置数据库

3.6 创建模型

3.7 激活模型

3.8 Django管理页面

3.9 向管理页面中添加投票应用

3.10 添加视图

3.10.1 扩展视图

3.10.2 处理404错误

3.11 使用模板系统

3.11.1 模板中的超链接

3.11.2 为超链接添加命名空间

3.12 HTML表单

3.13 添加样式

3.14 本地化

3.15 小结

第4章 django-admin和manage.py

4.1 help

4.2 version

4.3 check

4.4 compilemessages

4.5 createcachetable

4.6 dbshell

4.7 diffsettings

4.8 dumpdata

4.9 flush

4.10 inspectdb

4.11 loaddata

4.12 makemessages

4.13 startproject

4.14 startapp

4.15 runschmerver

4.16 sendtestemail

4.17 shell

4.18 迁移

4.18.1 makemigrations

4.18.2 migrate

4.18.3 sqlmigrate

4.18.4 showmigrations

4.19 changepassword

4.20 createsuperuser

4.21 collectstatic

4.22 findstatic

4.23 默认选项

第5章 配置

5.1 Django配置文件

5.1.1 引用Django配置信息

5.1.2 django.setup

5.2 Cache

5.2.1 CACHES

5.2.2 CACHE_MIDDLEWARE_ALIAS:

5.2.3 CACHE_MIDDLEWARE_KEY_PREFIX:

5.2.4 CACHE_MIDDLEWARE_SECONDS:

5.3 数据库

5.3.1 DATABASES

5.3.2 DATABASE_ROUTERS

5.3.3 DEFAULT_INDEX_TABLESPACE

5.3.4 DEFAULT_TABLESPACE

5.4 调试

5.4.1 DEBUG

5.4.2 DEBUG_PROPAGATE_EXCEPTIONS

5.5 电子邮件

5.5.1 ADMINS

5.5.2 DEFAULT_FROM_EMAIL

5.5.3 EMAIL_BACKEND

5.5.4 EMAIL_HOST

5.5.5 EMAIL_HOST_USER

5.5.6 EMAIL_HOST_PASSWORD

5.5.7 EMAIL_PORT

5.5.8 EMAIL_TIMEOUT

5.5.9 SERVER_EMAIL

5.5.10 MANAGERS

5.6 文件上传

5.6.1 DEFAULT_FILE_STORAGE

5.6.2 FILE_CHARSET

5.6.3 FILE_UPLOAD_HANDLERS

5.6.4 FILE_UPLOAD_MAX_MEMORY_SIZE

5.6.5 FILE_UPLOAD_PERMISSIONS

5.6.6 FILE_UPLOAD_DIRECTORY_PERMISSIONS

5.6.7 FILE_UPLOAD_TEMP_DIR

5.6.8 MEDIA_ROOT

5.6.9 MEDIA_URL

5.6.10 静态文件

5.7 表单

5.7.1 FORM_RENDERER

5.8 国际化(i18n/l10n)

5.8.1 DECIMAL_SEPARATOR

5.8.2 NUMBER_GROUPING

5.8.3 THOUSAND_SEPARATOR

5.8.4 USE_THOUSAND_SEPARATOR

5.8.5 FIRST_DAY_OF_WEEK

5.8.6 DATE_FORMAT

5.8.7 DATE_INPUT_FORMATS

5.8.8 DATETIME_FORMAT

5.8.9 SHORT_DATE_FORMAT

5.8.10 SHORT_DATETIME_FORMAT

5.8.11 DATETIME_INPUT_FORMATS

5.8.12 TIME_FORMAT

5.8.13 TIME_INPUT_FORMATS

5.8.14 YEAR_MONTH_FORMAT

5.8.15 MONTH_DAY_FORMAT

5.8.16 TIME_ZONE

5.8.17 LANGUAGE_CODE

5.8.18 LANGUAGE_COOKIE_AGE

5.8.19 LANGUAGE_COOKIE_DOMAIN

5.8.20 LANGUAGE_COOKIE_NAME

5.8.21 LANGUAGE_COOKIE_PATH

5.8.22 LANGUAGES

5.8.23 LANGUAGES_BIDI

5.8.24 LOCALE_PATHS

5.8.25 USE_I18N

5.8.26 USE_L10N

5.8.27 USE_TZ

5.8.28 Python datetime语法

5.9 HTTP

5.9.1 DATA_UPLOAD_MAX_MEMORY_SIZE

5.9.2 DATA_UPLOAD_MAX_NUMBER_FIELDS

5.9.3 DEFAULT_CHARSET

5.9.4 DISALLOWED_USER_AGENTS

5.9.5 FORCE_SCRIPT_NAME

5.9.6 INTERNAL_IPS

5.9.7 SECURE_BROWSER_XSS_FILTER

5.9.8 SECURE_CONTENT_TYPE_NOSNIFF

5.9.9 SECURE_HSTS_INCLUDE_SUBDOMAINS

5.9.10 SECURE_HSTS_PRELOAD

5.9.11 SECURE_HSTS_SECONDS

5.9.12 SECURE_PROXY_SSL_HEADER

5.9.13 SECURE_REDIRECT_EXEMPT

5.9.14 SECURE_REFERRER_POLICY

5.9.15 SECURE_SSL_HOST

5.9.16 SECURE_SSL_REDIRECT

5.9.17 SIGNING_BACKEND

5.9.18 WSGI_APPLICATION

5.10 安全

5.10.1 SECRET_KEY

5.10.2 ALLOWED_HOSTS

5.11 CSRF

5.11.1 CSRF_COOKIE_AGE

5.11.2 CSRF_COOKIE_DOMAIN

5.11.3 CSRF_COOKIE_HTTPONLY

5.11.4 CSRF_COOKIE_NAME

5.11.5 CSRF_COOKIE_PATH

5.11.6 CSRF_COOKIE_SAMESITE

5.11.7 CSRF_COOKIE_SECURE

5.11.8 CSRF_USE_SESSIONS

5.11.9 CSRF_FAILURE_VIEW

5.11.10 CSRF_HEADER_NAME

5.11.11 CSRF_TRUSTED_ORIGINS

5.11.12 代码示例

5.12 模型

5.12.1 ABSOLUTE_URL_OVERRIDES

5.12.2 FIXTURE_DIRS

5.12.3 INSTALLED_APPS

5.13 日志

5.13.1 LOGGING

5.13.2 LOGGING_CONFIG

5.14 模板

5.14.1 TEMPLATES

5.15 URLs

5.15.1 ROOT_URLCONF

5.15.2 APPEND_SLASH

5.15.3 PREPEND_WWW

5.16 其他

5.16.1 DEFAULT_EXCEPTION_REPORTER_FILTER

5.16.2 MIDDLEWARE

第6章 后台管理页面

6.1 ModelAdmin属性

6.1.1 date_hierarchy

6.1.2 actions_on_top/actions_on_bottom

6.1.3 actions_selection_counter

6.1.4 empty_value_display

6.1.5 exclude

6.1.6 fields

6.1.7 fieldsets

6.1.8 filter_horizontal

6.1.9 filter_vertical

6.1.10 form

6.1.11 formfield_overrides

6.1.12 inlines

6.1.13 list_display

6.1.14 list_display_links

6.1.15 list_editable

6.1.16 list_filter

6.1.17 list_per_page

6.1.18 list_max_show_all

6.1.19 list_select_related

6.1.20 ordering

6.1.21 paginator

6.1.22 prepopulated_fields

6.1.23 preserve_filters

6.1.24 radio_fields

6.1.25 autocomplete_fields

6.1.26 raw_id_fields

6.1.27 readonly_fields

6.1.28 save_as

6.1.29 save_as_continue

6.1.30 save_on_top

6.1.31 search_fields

6.1.32 show_full_result_count

6.1.33 sortable_by

6.1.34 view_on_site

6.1.35 自定义模板

6.2 ModelAdmin方法

6.2.1 save_model

6.2.2 delete_model

6.2.3 delete_queryset

6.2.4 save_formset

6.2.5 get_ordering

6.2.6 get_search_results()

6.2.7 save_related

6.2.8 get_autocomplete_fields

6.2.9 get_readonly_fields

6.2.10 get_prepopulated_fields

6.2.11 get_list_display

6.2.12 get_list_display_links

6.2.13 get_exclude

6.2.14 get_fields

6.2.15 get_fieldsets

6.2.16 get_list_filter

6.2.17 get_list_select_related

6.2.18 get_search_fields

6.2.19 get_sortable_by

6.2.20 get_inline_instances

6.2.21 get_inlines

6.2.22 get_urls

6.2.23 get_form

6.2.24 get_formsets_with_inlines

6.2.25 formfield_for_foreignKey

6.2.26 formfield_for_manytomany

6.2.27 formfield_for_choice_field

6.2.28 get_changelist

6.2.29 get_changelist_form

6.2.30 get_changelist_formset

6.2.31 lookup_allowed

6.2.32 has_view_permission

6.2.33 has_add_permission

6.2.34 has_change_permission

6.2.35 has_delete_permission

6.2.36 has_module_permission

6.2.37 get_queryset

6.2.38 message_user

6.2.39 get_paginator

6.2.40 response_add

6.2.41 response_change

6.2.42 response_delete

6.2.43 get_changeform_initial_data

6.2.44 get_deleted_objects

6.2.45 add_view

6.2.46 change_view

6.2.47 changelist_view

6.2.48 delete_view

6.2.49 history_view

6.3 ModelAdmin资源

6.3.1 jQuery

6.4 定制验证功能

6.5 InlineModelAdmin

6.5.1 InlineModelAdmin.model

6.5.2 InlineModelAdmin.fk_name

6.5.3 InlineModelAdmin.formset

6.5.4 InlineModelAdmin.form

6.5.5 InlineModelAdmin.classes

6.5.6 InlineModelAdmin.extra

6.5.7 InlineModelAdmin.max_num

6.5.8 InlineModelAdmin.min_num

6.5.9 InlineModelAdmin.raw_id_fields

6.5.10 InlineModelAdmin.template

6.5.11 InlineModelAdmin.verbose_name

6.5.12 InlineModelAdmin.verbose_name_plural

6.5.13 InlineModelAdmin.can_delete

6.5.14 InlineModelAdmin.show_change_link

6.5.15 InlineModelAdmin.get_formset(request, obj=None, **kwargs)

6.5.16 InlineModelAdmin.get_extra(request, obj=None, **kwargs)

6.5.17 InlineModelAdmin.get_max_num(request, obj=None, **kwargs)

6.5.18 InlineModelAdmin.get_min_num(request, obj=None, **kwargs)

6.5.19 InlineModelAdmin.has_add_permission(request, obj)

6.5.20 InlineModelAdmin.has_change_permission(request, obj=None)

6.5.21 InlineModelAdmin.has_delete_permission(request, obj=None)

6.5.22 使用中间模型处理ManyToMany关系

6.6 重写管理后台模板

6.6.1 新建管理后台模板

6.6.2 重写与替换

6.6.3 可重写模板

6.6.4 根模板和登录模板

6.7 AdminSite

6.7.1 重写AdminSite

6.7.2 多管理后台的实现

第7章 路由系统

7.1 Django处理HTTP请求的流程

7.2 URLconf示例

7.3 URL参数类型转化器

7.4 自定义URL参数类型转化器

7.5 使用正则表达式

7.6 导入其他URLconf

7.7 向视图传递额外参数

7.8 动态生成URL

7.9 URL名字和命名空间

第8章 模型

8.1 模型简介

8.2 使用模型

8.3 字段

8.3.1 AutoField

8.3.2 BigAutoField

8.3.3 BinaryField

8.3.4 BooleanField

8.3.5 CharField

8.3.6 DateField

8.3.7 DateTimeField

8.3.8 DecimalField

8.3.9 EmailField

8.3.10 FileField

8.3.11 FilePathField

8.3.12 FloatField

8.3.13 ImageField

8.3.14 IntegerField

8.3.15 GenericIPAddressField

8.3.16 PositiveIntegerField

8.3.17 PositiveSmallIntegerField

8.3.18 SlugField

8.3.19 SmallIntegerField

8.3.20 TextField

8.3.21 TimeField

8.3.22 URLField

8.3.23 UUIDField

8.4 字段参数

8.4.1 null

8.4.2 blank

8.4.3 choices

8.4.4 default

8.4.5 help_text

8.4.6 primary_Key

8.4.7 unique

8.4.8 verbose_name

8.5 表与表之间关系

8.5.1 多对一关系

8.5.2 多对多关系

8.5.3 一对一关系

8.6 模型元属性

8.7 元属性

8.7.1 abstract

8.7.2 app_label

8.7.3 base_manager_name

8.7.4 db_table

8.7.5 get_latest_by

8.7.6 order_with_respect_to

8.7.7 ordering

8.7.8 Indexes

8.7.9 constraints

8.7.10 verbose_name

8.7.11 verbose_name_plural

8.8 Manager类

8.8.1 自定义Manager类

8.8.2 直接执行SQL语句

8.8.3 执行存储过程

8.9 数据增删改查

8.10 数据操作进阶——QuerySets

8.10.1 创建对象

8.10.2 修改对象

8.10.3 更新ForeignKey

8.10.4 更新ManyToManyField

8.10.5 数据查询

8.10.6 链式过滤器

8.10.7 查询条件

8.10.8 模型深度检索

8.10.9 多条件查询

8.10.10 主键查询

8.10.11 查询条件中的%和_

8.10.12 F()函数

8.10.13 Func()表达式

8.10.14 QuerySet和缓存

8.10.15 复杂查询与Q对象

8.10.16 模型比较

8.10.17 复制模型实例

8.10.18 批量更新

8.10.19 模型关系

第9章 视图

9.1 视图结构

9.2 HTTP状态处理

9.3 快捷方式

9.3.1 render_to_string()

9.3.2 render()

9.3.3 redirect()

9.3.4 get_object_or_404()

9.3.5 get_list_or_404()

9.4 视图装饰器

9.4.1 HTTP方法装饰器

9.4.2 GZip压缩

9.4.3 Vary

9.4.4 缓存

9.5 Django内置视图

9.5.1 serve

9.5.2 错误视图

9.6 HttpRequest对象

9.6.1 属性

9.6.2 中间件属性

9.6.3 方法

9.6.4 QueryDict对象

9.7 HttpResponse对象

9.7.1 属性

9.7.2 方法

9.7.3 HttpResponse子类

9.7.4 JsonResponse

9.7.5 FileResponse

9.8 TemplateResponse对象

9.8.1 SimpleTemplateResponse对象

9.8.2 TemplateResponse对象

9.8.3 TemplateResponse对象渲染过程

9.8.4 回调函数

9.8.5 使用TemplateResponse对象

9.9 文件上传

9.9.1 单一文件上传

9.9.2 多文件上传

9.9.3 临时文件

9.10 类视图

9.10.1 类视图入门

9.10.2 继承类视图

9.11 通用视图

9.11.1 通用视图

9.11.2 修改通用视图属性

9.11.3 添加额外的上下文对象

9.11.4 queryset属性

9.11.5 动态过滤

9.11.6 通用视图与模型

9.12 表单视图

9.12.1 编辑表单视图

9.12.2 当前用户

第10章 模板

10.1 加载模板

10.2 模板语言

10.2.1 变量

10.2.2 标签

10.2.3 人性化语义标签

10.2.4 过滤器

10.2.5 注释

10.3 自定义标签和过滤器

10.3.1 编写自定义过滤器

10.3.2 编写自定义标签

10.4 模板继承

第11章 表单系统

11.1 Form类

11.2 表单字段类型

11.3 表单字段通用属性

11.4 表单与模板

第12章 中间件

12.1 缓存中间件

12.2 通用中间件

12.3 GZip中间件

12.4 有条件的GET中间件

12.5 语言环境的中间件

12.6 消息中间件

12.7 安全中间件

12.8 会话中间件

12.9 站点中间件

12.10 身份验证中间件

12.11 CSRF保护中间件

12.12 X-Frame-Options中间件

12.13 中间件排序

12.14 开发中间件

第13章 自动化测试

13.1 编写第一个测试用例

13.2 执行测试用例

13.3 修改代码中的bug

13.4 边界值测试

13.5 测试自定义视图

13.6 测试DetailView

第14章 国际化和本地化

14.1 名词解释

14.2 翻译概述

14.3 在Python中进行国际化

14.3.1 注释

14.3.2 空操作

14.3.3 复数

14.3.4 上下文标记

14.3.5 延迟翻译

14.3.6 本地化的语言名

14.4 编写模板代码

14.4.1 trans

14.4.2 blocktrans

14.4.3 注释

14.5 翻译原理

第15章 安全

15.1 网络攻击与保护

15.1.1 跨站脚本攻击

15.1.2 跨站请求伪造攻击

15.1.3 SQL注入

15.1.4 点击劫持

15.2 检查配置信息

第16章 部署

16.1 WSGI和Application对象

16.2 Ubuntu部署Django

16.2.1 查看系统版本

16.2.2 更换国内源

16.2.3 查看Python版本

16.2.4 安装pip3

16.2.5 安装nginx

16.2.6 安装Django

16.2.7 安装uwsgi

16.2.8 命令行运行网站

16.2.9 配置uwsgi

16.2.10 配置nginx

16.2.11 启动网站

16.2.12 设置静态文件

16.2.13 自启动服务

16.3 CentOS部署Django

16.3.1 查看系统版本

16.3.2 更换国内源

16.3.3 更新Python

16.3.4 安装Django

16.3.5 安装uwsgi

16.3.6 命令行运行网站

16.3.7 配置uwsgi

16.3.8 安装nginx

16.3.9 自启动服务

附录A 语言码

附录B 日期格式化字符串

Django3.0入门与实践是2021年由清华大学出版社出版,作者李健。

得书感谢您对《Django3.0入门与实践》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

你可能喜欢
Python测试开发入门与实践 电子书

本书系统且深入阐释利用Python进行Web自动化测试涉及的方法和实践。
MATLABAppDesigner从入门到实践 电子书

本书以编程工具AppDesigner为中心进行引导式学习。
ANSYSWorkbench19.0基础入门与工程实践(附教学视频) 电子书
Wireshark网络分析从入门到实践 电子书

1.这是一本好用的工具书对于对于网络运维人员、网络安全人员,WireShark是非常好的网络分析工具,这本优秀的基础工具书正是目前大家需要的。本书内容由浅入深,案例环环相扣,同...
量子计算机编程:从入门到实践 电子书

量子计算编程从入门到实践书籍,圆形表示法阐释量子计算机编程。
深度学习原理与实践 电子书

(1)大量图例,简单易懂。作者亲自绘制了大量插图,力求还原深度学习的算法思想,分解和剖析晦涩的算法,用图例来表示复杂的问题。生动的图例也能给读者带来阅读乐趣,快乐地学习算法知识...
机器学习与Python实践 电子书

机器学习理论实践全书,12章内容丰富,适合各层次读者。