网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
书名 | Django3.0入门与实践 |
分类 | 教育考试-考试-计算机类 |
作者 | 李健编著 |
出版社 | 清华大学出版社 |
下载 | |
简介 | 编辑推荐 一线程序员撰写,凝聚自己多年开发经验,深入浅出阐释Django开发涉及的方法和实践 内容推荐 本书是一线程序员多年开发经验的结晶。书中深入浅出地讲解了使用Django开发Web网站所需的配置、后台、路由系统、模型、视图、模板、表单系统、中间件、自动化测试、国际化及本地化、安全和部署等内容,帮助读者快速进入Web项目开发,在项目实践中灵活应用各种开发技术和方法。 本书主要包含四部分:第一部分(第1章)为读者介绍Django的发展状况以及如何搭建Django开发环境;第二部分(第2章)主要介绍什么是Web开发框架并通过搭建一个简单的Web框架帮助读者理解Web框架的工作原理;第三部分(第3章)带领读者搭建一个网站,使读者能够从整体上了解Django;第四部分(第4~16章)详细介绍Django各个模块的工作原理,通过学习这部分内容,读者将能够独立开发Django应用。 本书可供Web开发初中级读者以及希望使用Python作为编程语言的软件开发工程师参考。 目录 目录 第1章 走进Django的世界 1 1.1 认识Django 1 1.2 版本选择 1 1.3 搭建开发环境 2 1.3.1 安装Python 2 1.3.2 安装Django 2 第2章 Web开发框架 4 2.1 Socket编程 4 2.2 MTV框架 6 第3章 搭建第一个Django网站 8 3.1 创建项目 8 3.2 运行项目 9 3.3 创建投票应用 10 3.4 开发第一个视图 11 3.5 配置数据库 12 3.6 创建模型 13 3.7 激活模型 14 3.8 Django管理页面 15 3.9 向管理页面中添加投票应用 16 3.10 添加视图 18 3.10.1 扩展视图 19 3.10.2 处理404错误 21 3.11 使用模板系统 22 3.11.1 模板中的超链接 23 3.11.2 为超链接添加命名空间 23 3.12 HTML表单 24 3.13 添加样式 27 3.14 本地化 28 3.15 小结 29 第4章 django-admin和manage.py 30 4.1 help 31 4.2 version32 4.3 check 32 4.4 compilemessages 32 4.5 createcachetable 34 4.6 dbshell 34 4.7 diffsettings 35 4.8 dumpdata35 4.9 flush36 4.10 inspectdb 36 4.11 loaddata 38 4.12 makemessages 38 4.13 startproject 39 4.14 startapp 39 4.15 runserver40 4.16 sendtestemail40 4.17 shell 41 4.18 迁移 41 4.18.1 makemigrations 41 4.18.2 migrate 42 4.18.3 sqlmigrate 43 4.18.4 showmigrations 43 4.19 changepassword 44 4.20 createsuperuser 44 4.21 collectstatic44 4.22 findstatic 45 4.23 默认选项 45 第5章 配置 46 5.1 Django配置文件 46 5.1.1 引用Django配置信息 47 5.1.2 django.setup 47 5.2 Cache 48 5.2.1 CACHES 48 5.2.2 CACHE_MIDDLEWARE_ALIAS: 49 5.2.3 CACHE_MIDDLEWARE_KEY_PREFIX: 49 5.2.4 CACHE_MIDDLEWARE_SECONDS: 49 5.3 数据库 50 5.3.1 DATABASES 50 5.3.2 DATABASE_ROUTERS 54 5.3.3 DEFAULT_INDEX_TABLESPACE57 5.3.4 DEFAULT_TABLESPACE 57 5.4 调试 57 5.4.1 DEBUG 57 5.4.2 DEBUG_PROPAGATE_EXCEPTIONS 58 5.5 电子邮件 58 5.5.1 ADMINS 58 5.5.2 DEFAULT_FROM_EMAIL 59 5.5.3 EMAIL_BACKEND 59 5.5.4 EMAIL_HOST 59 5.5.5 EMAIL_HOST_USER 59 5.5.6 EMAIL_HOST_PASSWORD 59 5.5.7 EMAIL_PORT 59 5.5.8 EMAIL_TIMEOUT 59 5.5.9 SERVER_EMAIL 59 5.5.10 MANAGERS 60 5.6 文件上传 60 5.6.1 DEFAULT_FILE_STORAGE 60 5.6.2 FILE_CHARSET 60 5.6.3 FILE_UPLOAD_HANDLERS 60 5.6.4 FILE_UPLOAD_MAX_MEMORY_SIZE 60 5.6.5 FILE_UPLOAD_PERMISSIONS60 5.6.6 FILE_UPLOAD_DIRECTORY_PERMISSIONS 60 5.6.7 FILE_UPLOAD_TEMP_DIR 61 5.6.8 MEDIA_ROOT 61 5.6.9 MEDIA_URL 61 5.6.10 静态文件 62 5.7 表单 63 5.8 国际化(i18n/l10n) 63 5.8.1 DECIMAL_SEPARATOR63 5.8.2 NUMBER_GROUPING 63 5.8.3 THOUSAND_SEPARATOR 65 5.8.4 USE_THOUSAND_SEPARATOR 66 5.8.5 FIRST_DAY_OF_WEEK 66 5.8.6 DATE_FORMAT 66 5.8.7 DATE_INPUT_FORMATS 66 5.8.8 DATETIME_FORMAT 67 5.8.9 SHORT_DATE_FORMAT 67 5.8.10 SHORT_DATETIME_FORMAT 67 5.8.11 DATETIME_INPUT_FORMATS 67 5.8.12 TIME_FORMAT 68 5.8.13 TIME_INPUT_FORMATS 68 5.8.14 YEAR_MONTH_FORMAT 68 5.8.15 MONTH_DAY_FORMAT 68 5.8.16 TIME_ZONE 69 5.8.17 LANGUAGE_CODE 69 5.8.18 LANGUAGE_COOKIE_AGE 69 5.8.19 LANGUAGE_COOKIE_DOMAIN 69 5.8.20 LANGUAGE_COOKIE_NAME 70 5.8.21 LANGUAGE_COOKIE_PATH 70 5.8.22 LANGUAGES 70 5.8.23 LANGUAGES_BIDI70 5.8.24 LOCALE_PATHS 70 5.8.25 USE_I18N 70 5.8.26 USE_L10N 71 5.8.27 USE_TZ 71 5.8.28 Python datetime语法 71 5.9 HTTP 71 5.9.1 DATA_UPLOAD_MAX_MEMORY_SIZE 71 5.9.2 DATA_UPLOAD_MAX_NUMBER_FIELDS 72 5.9.3 DEFAULT_CHARSET 72 5.9.4 DISALLOWED_USER_AGENTS 72 5.9.5 FORCE_SCRIPT_NAME 72 5.9.6 INTERNAL_IPS 72 5.9.7 SECURE_BROWSER_XSS_FILTER 73 5.9.8 SECURE_CONTENT_TYPE_NOSNIFF73 5.9.9 SECURE_HSTS_INCLUDE_SUBDOMAINS 73 5.9.10 SECURE_HSTS_PRELOAD 73 5.9.11 SECURE_HSTS_SECONDS 73 5.9.12 SECURE_PROXY_SSL_HEADER 74 5.9.13 SECURE_REDIRECT_EXEMPT 74 5.9.14 SECURE_REFERRER_POLICY 75 5.9.15 SECURE_SSL_HOST 75 5.9.16 SECURE_SSL_REDIRECT 75 5.9.17 SIGNING_BACKEND 75 5.9.18 WSGI_APPLICATION 75 5.10 安全 75 5.10.1 SECRET_KEY 75 5.10.2 ALLOWED_HOSTS 76 5.11 CSRF 76 5.11.1 CSRF_COOKIE_AGE 76 5.11.2 CSRF_COOKIE_DOMAIN 77 5.11.3 CSRF_COOKIE_HTTPONLY 77 5.11.4 CSRF_COOKIE_NAME 77 5.11.5 CSRF_COOKIE_PATH 77 5.11.6 CSRF_COOKIE_SAMESITE 77 5.11.7 CSRF_COOKIE_SECURE 77 5.11.8 CSRF_USE_SESSIONS 78 5.11.9 CSRF_FAILURE_VIEW 78 5.11.10 CSRF_HEADER_NAME 78 5.11.11 CSRF_TRUSTED_ORIGINS 78 5.11.12 代码示例 78 5.12 模型 81 5.12.1 ABSOLUTE_URL_OVERRIDES 81 5.12.2 FIXTURE_DIRS 81 5.12.3 INSTALLED_APPS 81 5.13 日志 81 5.13.1 LOGGING 81 5.13.2 LOGGING_CONFIG 82 5.14 模板 82 5.15 URLs 83 5.15.1 ROOT_URLCONF 83 5.15.2 APPEND_SLASH 83 5.15.3 PREPEND_WWW 84 5.16 其他 84 5.16.1 DEFAULT_EXCEPTION_REPORTER_FILTER 84 5.16.2 MIDDLEWARE 84 第6章 后台管理页面 85 6.1 ModelAdmin属性 85 6.1.1 date_hierarchy 86 6.1.2 actions_on_top/actions_on_bottom 88 6.1.3 actions_selection_counter 88 6.1.4 empty_value_display 89 6.1.5 exclude 90 6.1.6 fi elds91 6.1.7 fi eldsets 92 6.1.8 fi lter_horizontal 94 6.1.9 fi lter_vertical 95 6.1.10 form 96 6.1.11 formfi eld_overrides 96 6.1.12 inlines97 6.1.13 list_display 97 6.1.14 list_display_links 100 6.1.15 list_editable 101 6.1.16 list_fi lter 102 6.1.17 list_per_page 102 6.1.18 list_max_show_all 103 6.1.19 list_select_related 103 6.1.20 ordering 104 6.1.21 paginator 104 6.1.22 prepopulated_fi elds 104 6.1.23 preserve_fi lters104 6.1.24 radio_fi elds 105 6.1.25 autocomplete_fi elds 105 6.1.26 raw_id_fi elds 106 6.1.27 readonly_fi elds107 6.1.28 save_as 107 6.1.29 save_as_continue 107 6.1.30 save_on_top 108 6.1.31 search_fi elds 108 6.1.32 show_full_result_count 110 6.1.33 sortable_by110 6.1.34 view_on_site 110 6.1.35 自定义模板 111 6.2 ModelAdmin 方法 112 6.2.1 save_model 112 6.2.2 delete_model 113 6.2.3 delete_queryset 113 6.2.4 save_formset 113 6.2.5 get_ordering 114 6.2.6 get_search_results() 114 6.2.7 save_related 114 6.2.8 get_autocomplete_fi elds 115 6.2.9 get_readonly_fi elds 115 6.2.10 get_prepopulated_fi elds 115 6.2.11 get_list_display 115 6.2.12 get_list_display_links 115 6.2.13 get_exclude 115 6.2.14 get_fi elds 115 6.2.15 get_fi eldsets 115 6.2.16 get_list_fi lter 115 6.2.17 get_list_select_related 116 6.2.18 get_search_fi elds 116 6.2.19 get_sortable_by 116 6.2.20 get_inline_instances116 6.2.21 get_inlines 116 6.2.22 get_urls 116 6.2.23 get_form117 6.2.24 get_formsets_with_inlines 117 6.2.25 formfi eld_for_foreignKey 118 6.2.26 formfi eld_for_manytomany 118 6.2.27 formfi eld_for_choice_fi eld 118 6.2.28 get_changelist 119 6.2.29 get_changelist_form 119 6.2.30 get_changelist_formset 119 6.2.31 lookup_allowed 119 6.2.32 has_view_permission120 6.2.33 has_add_permission120 6.2.34 has_change_permission 120 6.2.35 has_delete_permission 120 6.2.36 has_module_permission 120 6.2.37 get_queryset 120 6.2.38 message_user 121 6.2.39 get_paginator 121 6.2.40 response_add 121 6.2.41 response_change 121 6.2.42 response_delete 121 6.2.43 get_changeform_initial_data 122 6.2.44 get_deleted_objects 122 6.2.45 add_view 123 6.2.46 change_view 123 6.2.47 changelist_view 123 6.2.48 delete_view 123 6.2.49 history_view 123 6.3 ModelAdmin资源 123 6.4 定制验证功能 124 6.5 InlineModelAdmin 124 6.5.1 InlineModelAdmin.model 125 6.5.2 InlineModelAdmin.fk_name 125 6.5.3 InlineModelAdmin.formset 125 6.5.4 InlineModelAdmin.form125 6.5.5 InlineModelAdmin.classes 125 6.5.6 InlineModelAdmin.extra 125 6.5.7 InlineModelAdmin.max_num 126 6.5.8 InlineModelAdmin.min_num 126 6.5.9 InlineModelAdmin.raw_id_fi elds127 6.5.10 InlineModelAdmin.template128 6.5.11 InlineModelAdmin.verbose_name 128 6.5.12 InlineModelAdmin.verbose_name_plural 128 6.5.13 InlineModelAdmin.can_delete 128 6.5.14 InlineModelAdmin.show_change_link 129 6.5.15 InlineModelAdmin.get_formset(request, obj=None, **kwargs) 129 6.5.16 InlineModelAdmin.get_extra(request,obj=None, **kwargs) 129 6.5.17 InlineModelAdmin.get_max_num(request, obj=None, **kwargs) 129 6.5.18 InlineModelAdmin.get_min_num(request, obj=None, **kwargs) 130 6.5.19 InlineModelAdmin.has_add_permission(request, obj) 130 6.5.20 InlineModelAdmin.has_change_permission(request, obj=None) 130 6.5.21 InlineModelAdmin.has_delete_permission(request, obj=None) 130 6.5.22 使用中间模型处理 ManyToMany关系 130 6.6 重写管理后台模板 131 6.6.1 新建管理后台模板 131 6.6.2 重写与替换 133 6.6.3 可重写模板 134 6.6.4 根模板和登录模板 134 6.7 AdminSite 134 6.7.1 重写AdminSite 134 6.7.2 多管理后台的实现 136 第7章 路由系统 137 7.1 Django处理HTTP请求的流程 137 7.2 URLconf示例 137 7.3 URL参数类型转化器 138 7.4 自定义URL参数类型转化器 138 7.5 使用正则表达式 140 7.6 导入其他URLconf 140 7.7 向视图传递额外参数 141 7.8 动态生成URL 142 7.9 URL名字和命名空间 143 第8章 模型 145 8.1 模型简介 145 8.2 使用模型 145 8.3 字段 146 8.3.1 AutoField 146 8.3.2 BigAutoField 146 8.3.3 BinaryField 146 8.3.4 BooleanField 146 8.3.5 CharField 147 8.3.6 DateField 147 8.3.7 DateTimeField 148 8.3.8 DecimalField 148 8.3.9 EmailField 149 8.3.10 FileField 149 8.3.11 FilePathField 150 8.3.12 FloatField 151 8.3.13 ImageField 151 8.3.14 IntegerField 151 8.3.15 GenericIPAddressField 151 8.3.16 PositiveIntegerField 152 8.3.17 PositiveSmallIntegerField 152 8.3.18 SlugField 152 8.3.19 SmallIntegerField 152 8.3.20 TextField 152 8.3.21 TimeField 152 8.3.22 URLField 152 8.3.23 UUIDField 152 8.4 字段参数 153 8.4.1 null 153 8.4.2 blank 153 8.4.3 choices 153 8.4.4 default 156 8.4.5 help_text 156 8.4.6 primary_Key 156 8.4.7 unique 156 8.4.8 verbose_name 156 8.5 表与表之间关系 157 8.5.1 多对一关系 157 8.5.2 多对多关系 157 8.5.3 一对一关系 158 8.6 模型元属性 158 8.7 元属性 158 8.7.1 abstract 159 8.7.2 app_label 159 8.7.3 base_manager_name 159 8.7.4 db_table 159 8.7.5 get_latest_by 159 8.7.6 order_with_respect_to 159 8.7.7 ordering 160 8.7.8 Indexes 160 8.7.9 constraints 161 8.7.10 verbose_name 161 8.7.11 verbose_name_plural 161 8.8 Manager 类 161 8.8.1 自定义Manager类 162 8.8.2 直接执行SQL语句 162 8.8.3 执行存储过程 165 8.9 数据增删改查 165 8.10 数据操作进阶——QuerySets 171 8.10.1 创建对象 172 8.10.2 修改对象 172 8.10.3 更新ForeignKey 172 8.10.4 更新ManyToManyField 173 8.10.5 数据查询 174 8.10.6 链式过滤器 179 8.10.7 查询条件 180 8.10.8 模型深度检索 183 8.10.9 多条件查询 184 8.10.10 主键查询 185 8.10.11 查询条件中的%和_ 185 8.10.12 F()函数 186 8.10.13 Func()表达式187 8.10.14 QuerySet和缓存 188 8.10.15 复杂查询与Q对象 189 8.10.16 模型比较 190 8.10.17 复制模型实例 190 8.10.18 批量更新 190 8.10.19 模型关系 191 第9章 视图 193 9.1 视图结构 193 9.2 HTTP状态处理 193 9.3 快捷方式 195 9.3.1 render_to_string() 195 9.3.2 render() 195 9.3.3 redirect() 196 9.3.4 get_object_or_404()197 9.3.5 get_list_or_404() 198 9.4 视图装饰器 198 9.4.1 HTTP方法装饰器 199 9.4.2 GZip压缩 199 9.4.3 Vary 200 9.4.4 缓存 201 9.5 Django内置视图 202 9.5.1 serve 202 9.5.2 错误视图 203 9.6 HttpRequest对象 204 9.6.1 属性 204 9.6.2 中间件属性 205 9.6.3 方法 206 9.6.4 QueryDict对象 207 9.7 HttpResponse对象 208 9.7.1 属性 209 9.7.2 方法 210 9.7.3 HttpResponse子类 211 9.7.4 JsonResponse 211 9.7.5 FileResponse 212 9.8 TemplateResponse对象 212 9.8.1 SimpleTemplateResponse对象 212 9.8.2 TemplateResponse对象 213 9.8.3 TemplateResponse对象渲染过程 214 9.8.4 回调函数 215 9.8.5 使用TemplateResponse对象 215 9.9 文件上传 216 9.9.1 单一文件上传 216 9.9.2 多文件上传 218 9.9.3 临时文件 219 9.10 类视图 219 9.10.1 类视图入门 219 9.10.2 继承类视图 220 9.11 通用视图 220 9.11.1 通用视图 220 9.11.2 修改通用视图属性 222 9.11.3 添加额外的上下文对象 222 9.11.4 queryset属性 223 9.11.5 动态过滤 224 9.11.6 通用视图与模型 225 9.12 表单视图 225 9.12.1 编辑表单视图 226 9.12.2 当前用户 228 第10章 模板 230 10.1 加载模板 230 10.2 模板语言 231 10.2.1 变量 231 10.2.2 标签 232 10.2.3 人性化语义标签 236 10.2.4 过滤器 239 10.2.5 注释 241 10.3 自定义标签和过滤器 241 10.3.1 编写自定义过滤器 242 10.3.2 编写自定义标签 243 10.4 模板继承 244 第11章 表单系统 250 11.1 Form类 250 11.2 表单字段类型 251 11.3 表单字段通用属性 255 11.4 表单与模板 255 第12章 中间件 257 12.1 缓存中间件 257 12.2 通用中间件 258 12.3 GZip中间件 258 12.4 有条件的GET中间件 258 12.5 语言环境的中间件 258 12.6 消息中间件 259 12.7 安全中间件 259 12.8 会话中间件 259 12.9 站点中间件 259 12.10 身份验证中间件 259 12.11 CSRF保护中间件 260 12.12 X-Frame-Options中间件 260 12.13 中间件排序 260 12.14 开发中间件 261 第13章 自动化测试 263 13.1 编写第一个测试用例 263 13.2 执行测试用例 264 13.3 修改代码中的bug 264 13.4 边界值测试 265 13.5 测试自定义视图 266 13.6 测试DetailView 268 第14章 国际化和本地化 270 14.1 名词解释 270 14.2 翻译概述 271 14.3 在Python中进行国际化 271 14.3.1 注释 272 14.3.2 空操作 273 14.3.3 复数 273 14.3.4 上下文标记 274 14.3.5 延迟翻译 275 14.3.6 本地化的语言名 276 14.4 编写模板代码 277 14.4.1 trans 277 14.4.2 blocktrans278 14.4.3 注释 279 14.5 翻译原理 279 第15章 安全 282 15.1 网络攻击与保护 282 15.1.1 跨站脚本攻击 282 15.1.2 跨站请求伪造攻击 283 15.1.3 SQL注入 284 15.1.4 点击劫持 284 15.2 检查配置信息 284 第16章 部署 286 16.1 WSGI和Application对象 286 16.2 Ubuntu部署Django 286 16.2.1 查看系统版本 286 16.2.2 更换国内源 286 16.2.3 查看Python版本 287 16.2.4 安装pip3 288 16.2.5 安装nginx 289 16.2.6 安装Django 289 16.2.7 安装uwsgi 289 16.2.8 命令行运行网站 290 16.2.9 配置uwsgi 290 16.2.10 配置nginx 291 16.2.11 启动网站 291 16.2.12 设置静态文件 292 16.2.13 自启动服务 293 16.3 CentOS部署Django 293 16.3.1 查看系统版本 293 16.3.2 更换国内源 294 16.3.3 更新Python 294 16.3.4 安装Django 296 16.3.5 安装uwsgi 296 16.3.6 命令行运行网站 296 16.3.7 配置uwsgi 296 16.3.8 安装nginx 297 16.3.9 自启动服务 298 附录A 语言码 299 附录B 日期格式化字符串 301 |
随便看 |
|
霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。