由于此商品库存有限,请在下单后15分钟之内支付完成,手慢无哦!
100%刮中券,最高50元无敌券,券有效期7天
活动自2017年6月2日上线,敬请关注云钻刮券活动规则更新。
如活动受政府机关指令需要停止举办的,或活动遭受严重网络攻击需暂停举办的,或者系统故障导致的其它意外问题,苏宁无需为此承担赔偿或者进行补偿。
[正版新书] Django Web开发实例精解 [美] 爱达斯·班德拉蒂斯 等著 张华臻 译 清华大学出版社 ①软件
¥ ×1
书名: | Django Web开发实例精解 |
出版社: | 清华大学出版社 |
出版日期 | 2023 |
ISBN号: | 9787302631316 |
《Django Web开发实例精解》详细阐述了与Django相关的基本解决方案,主要包括模型和数据库结构、表单和视图、模板和JavaScript、自定义模板过滤器和标签、模型管理、安全和性能、层次结构、导入和导出数据、测试、部署、维护等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。 |
爱达斯·班德拉蒂斯在过去的18年里一直从事专业的网站建设。在过去的14年里,他一直在柏林一家名为studio 38 pure communication的设计公司工作。他和一个小的专门团队一起,主要使用Django作为后端,jQuery作为前端来创建文化和旅游web平台。 |
|
Django是一个功能强大的Python Web框架,支持快速开发过程以及简洁、实用的设计方案。Django是高水准的Python编程语言驱动的一个开源模型,是一个视图、控制器风格的Web应用程序框架,它起源于开源社区。使用这种架构,程序员可以方便、快捷地创建高品质、易维护、数据库驱动的应用程序。另外,在Django框架中,还包含许多功能强大的第三方插件,使得Django具有较强的可扩展性。 |
|
目 录 第1章 Django 3.0开始之旅 1 1.1 简介 1 1.2 技术需求 2 1.3 与虚拟环境协同工作 2 1.3.1 准备工作 2 1.3.2 实现方式 3 1.3.3 工作方式 3 1.3.4 延伸阅读 3 1.4 创建一个项目文件结构 4 1.4.1 准备工作 4 1.4.2 实现方式 4 1.4.3 工作方式 6 1.4.4 更多内容 7 1.4.5 延伸阅读 7 1.5 利用pip处理项目依赖项 8 1.5.1 准备工作 8 1.5.2 实现方式 8 1.5.3 工作方式 9 1.5.4 更多内容 10 1.5.5 延伸阅读 10 1.6 针对开发、测试、预发布和产品环境,配置设置项 10 1.6.1 准备工作 10 1.6.2 实现方式 11 1.6.3 工作方式 12 1.6.4 延伸阅读 12 1.7 在设置项中定义相对路径 12 1.7.1 准备工作 13 1.7.2 实现方式 13 1.7.3 工作方式 13 1.7.4 延伸阅读 14 1.8 处理敏感设置项 14 1.8.1 准备工作 14 1.8.2 实现方式 14 1.8.3 工作方式 15 1.8.4 更多内容 15 1.8.5 延伸阅读 16 1.9 在项目中包含外部依赖项 16 1.9.1 准备工作 17 1.9.2 实现方式 17 1.9.3 工作方式 18 1.9.4 延伸阅读 18 1.10 以动态方式设置STATIC_URL 19 1.10.1 准备工作 19 1.10.2 实现方式 19 1.10.3 工作方式 20 1.10.4 更多内容 20 1.10.5 延伸阅读 22 1.11 将UTF-8设置为MySQL配置的默认编码机制 22 1.11.1 准备工作 22 1.11.2 实现方式 22 1.11.3 工作方式 23 1.11.4 更多内容 23 1.11.5 延伸阅读 23 1.12 创建Git忽略文件 23 1.12.1 准备工作 23 1.12.2 实现方式 23 1.12.3 工作方式 25 1.12.4 延伸阅读 25 1.13 删除Python编译文件 25 1.13.1 准备工作 25 1.13.2 实现方式 26 1.13.3 工作方式 26 1.13.4 更多内容 26 1.13.5 延伸阅读 26 1.14 遵循Python文件中的导入顺序 26 1.14.1 准备工作 26 1.14.2 实现方式 27 1.14.3 工作方式 27 1.14.4 更多内容 27 1.14.5 延伸阅读 28 1.15 创建应用程序配置 28 1.15.1 准备工作 28 1.15.2 实现方式 28 1.15.3 工作方式 29 1.15.4 更多内容 30 1.15.5 延伸阅读 30 1.16 定义可覆写的应用程序设置项 30 1.16.1 准备工作 31 1.16.2 实现方式 31 1.16.3 工作方式 33 1.16.4 延伸阅读 33 1.17 针对Django、Gunicorn、Nginx和PostgreSQL,与Docker容器协同工作 33 1.17.1 准备工作 34 1.17.2 实现方式 34 1.17.3 工作方式 38 1.17.4 更多内容 41 1.17.5 延伸阅读 41 第2章 模型和数据库结构 43 2.1 简介 43 2.2 技术需求 43 2.3 使用模型混入 44 2.3.1 准备工作 44 2.3.2 实现方式 44 2.3.3 工作方式 45 2.3.4 更多内容 45 2.3.5 延伸阅读 46 2.4 利用与URL相关的方法创建一个模型混入 46 2.4.1 准备工作 47 2.4.2 实现方式 47 2.4.3 工作方式 48 2.4.4 延伸阅读 49 2.5 创建一个模型混入以处理日期的创建和修改 50 2.5.1 准备工作 50 2.5.2 实现方式 50 2.5.3 工作方式 51 2.5.4 延伸阅读 51 2.6 创建一个模型混入以关注元标签 51 2.6.1 准备工作 52 2.6.2 实现方式 52 2.6.3 工作方式 54 2.6.4 延伸阅读 54 2.7 创建一个模型混入以处理Generic Relation 54 2.7.1 准备工作 55 2.7.2 实现方式 55 2.7.3 工作方式 58 2.7.4 延伸阅读 59 2.8 处理多语言字段 59 2.8.1 准备工作 59 2.8.2 实现方式 60 2.8.3 工作方式 64 2.8.4 延伸阅读 65 2.9 与模型翻译表协同工作 65 2.9.1 准备工作 66 2.9.2 实现方式 66 2.9.3 工作方式 69 2.9.4 延伸阅读 70 2.10 避免环状依赖项 71 2.10.1 准备工作 71 2.10.2 实现方式 71 2.10.3 延伸阅读 73 2.11 添加数据库约束 73 2.11.1 准备工作 73 2.11.2 实现方式 73 2.11.3 工作方式 74 2.11.4 更多内容 75 2.11.5 延伸阅读 76 2.12 使用迁移 76 2.12.1 准备工作 77 2.12.2 实现方式 77 2.12.3 工作方式 78 2.12.4 更多内容 78 2.12.5 延伸阅读 79 2.13 将外键修改为多对多字段 79 2.13.1 准备工作 79 2.13.2 实现方式 81 2.13.3 工作方式 83 2.13.4 更多内容 84 2.13.5 延伸阅读 84 第3章 表单和视图 85 3.1 简介 85 3.2 技术需求 85 3.3 利用CRUDL函数创建一个应用程序 86 3.3.1 准备工作 86 3.3.2 实现方式 89 3.3.3 工作方式 92 3.3.4 更多内容 92 3.3.5 延伸阅读 93 3.4 保存模型实例的作者 93 3.4.1 准备工作 93 3.4.2 实现方式 93 3.4.3 工作方式 94 3.4.4 延伸阅读 95 3.5 上传图像 95 3.5.1 准备工作 95 3.5.2 实现方式 95 3.5.3 工作方式 98 3.5.4 延伸阅读 99 3.6 利用自定义模板创建一个表单布局 99 3.6.1 准备工作 99 3.6.2 实现方式 100 3.6.3 工作方式 103 3.6.4 延伸阅读 105 3.7 利用django-crispy-forms创建一个表单布局 105 3.7.1 准备工作 105 3.7.2 实现方式 106 3.7.3 工作方式 108 3.7.4 更多内容 109 3.7.5 延伸阅读 110 3.8 与表单集协同工作 110 3.8.1 准备工作 110 3.8.2 实现方式 110 3.8.3 工作方式 118 3.8.4 更多内容 120 3.8.5 延伸阅读 120 3.9 过滤对象列表 121 3.9.1 准备工作 121 3.9.2 实现方式 122 3.9.3 工作方式 127 3.9.4 延伸阅读 127 3.10 管理分页列表 128 3.10.1 准备工作 128 3.10.2 实现方式 128 3.10.3 工作方式 131 3.10.4 延伸阅读 132 3.11 合成基于类的视图 132 3.11.1 准备工作 132 3.11.2 实现方式 132 3.11.3 工作方式 134 3.11.4 更多内容 135 3.11.5 延伸阅读 135 3.12 提供Open Graph和Twitter Card数据 135 3.12.1 准备工作 135 3.12.2 实现方式 135 3.12.3 工作方式 138 3.12.4 延伸阅读 138 3.13 提供schema.org词汇表 139 3.13.1 准备工作 139 3.13.2 实现方式 139 3.13.3 工作方式 141 3.13.4 延伸阅读 141 3.14 生成PDF文档 142 3.14.1 准备工作 142 3.14.2 实现方式 142 3.14.3 工作方式 146 3.14.4 延伸阅读 147 3.15 利用Haystack和Whoosh实现多语言搜索 147 3.15.1 准备工作 147 3.15.2 实现方式 148 3.15.3 工作方式 153 3.15.4 延伸阅读 154 3.16 利用Elasticsearch DSL实现多语言搜索 154 3.16.1 准备工作 154 3.16.2 实现方式 154 3.16.3 工作方式 162 3.16.4 延伸阅读 163 第4章 模板和JavaScript 165 4.1 简介 165 4.2 技术需求 165 4.3 安排base.html模板 166 4.3.1 准备工作 166 4.3.2 实现方式 166 4.3.3 工作方式 168 4.3.4 延伸阅读 169 4.4 使用Django Sekizai 170 4.4.1 准备工作 170 4.4.2 实现方式 171 4.4.3 工作方式 172 4.4.4 延伸阅读 172 4.5 公开JavaScript中的设置项 172 4.5.1 准备工作 172 4.5.2 实现方式 173 4.5.3 工作方式 175 4.5.4 延伸阅读 176 4.6 使用HTML 5数据属性 176 4.6.1 准备工作 176 4.6.2 实现方式 179 4.6.3 工作方式 185 4.6.4 延伸阅读 187 4.7 提供响应式图像 187 4.7.1 准备工作 187 4.7.2 实现方式 187 4.7.3 工作方式 190 4.7.4 更多内容 192 4.7.5 延伸阅读 192 4.8 实现连续的滚动 192 4.8.1 准备工作 192 4.8.2 实现方式 193 4.8.3 工作方式 197 4.8.4 更多内容 199 4.8.5 延伸阅读 199 4.9 在模式对话框中打开对象的细节信息 199 4.9.1 准备工作 200 4.9.2 实现方式 200 4.9.3 工作方式 203 4.9.4 延伸阅读 204 4.10 实现Like微件 204 4.10.1 准备工作 205 4.10.2 实现方式 206 4.10.3 工作方式 210 4.10.4 延伸阅读 212 4.11 通过Ajax上传图像 212 4.11.1 准备工作 212 4.11.2 实现方式 212 4.11.3 工作方式 221 4.11.4 更多内容 223 4.11.5 延伸阅读 223 第5章 自定义模板过滤器和标签 225 5.1 简介 225 5.2 技术需求 225 5.3 遵循自定义的模板过滤器和标签规则 226 5.4 创建一个模板过滤器以显示帖子发布的天数 227 5.4.1 准备工作 227 5.4.2 实现方式 227 5.4.3 工作方式 228 5.4.4 更多内容 229 5.4.5 延伸阅读 229 5.5 创建一个模板过滤器以析取第一个媒体对象 229 5.5.1 准备工作 229 5.5.2 实现方式 230 5.5.3 工作方式 230 5.5.4 更多内容 231 5.5.5 延伸阅读 231 5.6 创建一个模板过滤器以识别URL 232 5.6.1 准备工作 232 5.6.2 实现方式 232 5.6.3 工作方式 233 5.6.4 延伸阅读 233 5.7 创建一个模板标签以包含一个模板 233 5.7.1 准备工作 233 5.7.2 实现方式 234 5.7.3 工作方式 235 5.7.4 更多内容 236 5.7.5 延伸阅读 237 5.8 创建一个模板标签以加载模板中的QuerySet 237 5.8.1 准备工作 237 5.8.2 实现方式 239 5.8.3 工作方式 241 5.8.4 延伸阅读 242 5.9 创建一个模板标签以作为模板解析内容 242 5.9.1 准备工作 242 5.9.2 实现方式 243 5.9.3 工作方式 244 5.9.4 延伸阅读 245 5.10 创建模板标签以调整请求查询参数 245 5.10.1 准备工作 245 5.10.2 实现方式 246 5.10.3 工作方式 248 5.10.4 延伸阅读 250 第6章 模型管理 251 6.1 简介 251 6.2 技术需求 251 6.3 自定义修改列表页面上的列 251 6.3.1 准备工作 252 6.3.2 实现方式 254 6.3.3 工作方式 255 6.3.4 延伸阅读 257 6.4 创建可排序的内联 257 6.4.1 准备工作 257 6.4.2 实现方式 258 6.4.3 工作方式 259 6.4.4 延伸阅读 260 6.5 创建管理动作 261 6.5.1 准备工作 261 6.5.2 实现方式 261 6.5.3 工作方式 264 6.5.4 延伸阅读 265 6.6 开发修改列表过滤器 265 6.6.1 准备工作 265 6.6.2 实现方式 265 6.6.3 工作方式 267 6.6.4 延伸阅读 268 6.7 修改第三方应用程序的应用程序标记 268 6.7.1 准备工作 268 6.7.2 实现方式 269 6.7.3 工作方式 269 6.7.4 延伸阅读 270 6.8 创建一个自定义账户应用程序 270 6.8.1 准备工作 270 6.8.2 实现方式 270 6.8.3 工作方式 274 6.8.4 延伸阅读 276 6.9 获取用户头像 277 6.9.1 准备工作 277 6.9.2 实现方式 277 6.9.3 更多内容 284 6.9.4 延伸阅读 284 6.10 将一幅地图插入至修改表单中 285 6.10.1 准备工作 285 6.10.2 实现方式 289 6.10.3 工作方式 297 6.10.4 延伸阅读 300 第7章 安全和性能 301 7.1 简介 301 7.2 技术需求 301 7.3 表单的跨站点请求伪造安全 302 7.3.1 准备工作 302 7.3.2 实现方式 302 7.3.3 工作方式 304 7.3.4 更多内容 304 7.3.5 延伸阅读 305 7.4 基于内容安全政策的请求安全 306 7.4.1 准备工作 306 7.4.2 实现方式 306 7.4.3 工作方式 307 7.4.4 延伸阅读 309 7.5 使用django-admin-honeypot 309 7.5.1 准备工作 310 7.5.2 实现方式 310 7.5.3 工作方式 310 7.5.4 更多内容 311 7.5.5 延伸阅读 313 7.6 实现密码验证 313 7.6.1 准备工作 313 7.6.2 实现方式 313 7.6.3 工作方式 316 7.6.4 更多内容 317 7.6.5 延伸阅读 317 7.7 下载授权文件 317 7.7.1 准备工作 317 7.7.2 实现方式 317 7.7.3 工作方式 320 7.7.4 延伸阅读 320 7.8 向图像中添加动态水印 321 7.8.1 准备工作 321 7.8.2 实现方式 321 7.8.3 工作方式 324 7.8.4 延伸阅读 325 7.9 基于Auth0的身份验证 325 7.9.1 准备工作 325 7.9.2 实现方式 326 7.9.3 工作方式 330 7.9.4 延伸阅读 332 7.10 缓存方法的返回值 332 7.10.1 准备工作 332 7.10.2 实现方式 332 7.10.3 工作方式 333 7.10.4 更多内容 334 7.10.5 延伸阅读 335 7.11 使用Memcached缓存Django视图 335 7.11.1 准备工作 335 7.11.2 实现方式 336 7.11.3 工作方式 337 7.11.4 延伸阅读 337 7.12 使用Redis缓存Django视图 337 7.12.1 准备工作 338 7.12.2 实现方式 338 7.12.3 工作方式 339 7.12.4 更多内容 340 7.12.5 延伸阅读 340 第8章 层次结构 341 8.1 简介 341 8.2 技术需求 343 8.3 利用django-mptt创建层次分类 343 8.3.1 准备工作 343 8.3.2 实现方式 343 8.3.3 工作方式 345 8.3.4 延伸阅读 346 8.4 利用django-mptt-admin创建分类管理界面 346 8.4.1 准备工作 347 8.4.2 实现方式 347 8.4.3 工作方式 348 8.4.4 延伸阅读 349 8.5 利用django-mptt在模板中渲染分类 350 8.5.1 准备工作 351 8.5.2 实现方式 351 8.5.3 工作方式 352 8.5.4 更多内容 353 8.5.5 延伸阅读 353 8.6 利用django-mptt和单选字段在表单中选择分类 353 8.6.1 准备工作 353 8.6.2 实现方式 354 8.6.3 工作方式 355 8.6.4 延伸阅读 356 8.7 利用django-mptt在表单中通过复选框列表选择多个分类 356 8.7.1 准备工作 357 8.7.2 实现方式 357 8.7.3 工作方式 362 8.7.4 延伸阅读 363 8.8 利用django-treebeard创建层次分类 363 8.8.1 准备工作 364 8.8.2 实现方式 364 8.8.3 工作方式 365 8.8.4 更多内容 366 8.8.5 延伸阅读 367 8.9 利用django-treebeard创建分类管理界面 367 8.9.1 准备工作 367 8.9.2 实现方式 367 8.9.3 工作方式 368 8.9.4 延伸阅读 370 第9章 导入和导出数据 371 9.1 简介 371 9.2 技术需求 371 9.3 从本地CSV文件中导入数据 371 9.3.1 准备工作 372 9.3.2 实现方式 374 9.3.3 工作方式 376 9.3.4 延伸阅读 377 9.4 从本地Excel文件中导入数据 378 9.4.1 准备工作 378 9.4.2 实现方式 378 9.4.3 工作方式 380 9.4.4 延伸阅读 381 9.5 从外部JSON文件中导入数据 381 9.5.1 准备工作 382 9.5.2 实现方式 384 9.5.3 工作方式 387 9.5.4 延伸阅读 388 9.6 从外部XML文件中导入数据 388 9.6.1 准备工作 388 9.6.2 实现方式 389 9.6.3 工作方式 392 9.6.4 更多内容 393 9.6.5 延伸阅读 393 9.7 针对搜索引擎准备分页网站地图 394 9.7.1 准备工作 394 9.7.2 实现方式 396 9.7.3 工作方式 397 9.7.4 更多内容 398 9.7.5 延伸阅读 398 9.8 创建可过滤的RSS订阅 398 9.8.1 准备工作 398 9.8.2 实现方式 401 9.8.3 工作方式 404 9.8.4 延伸阅读 404 9.9 使用Django REST框架创建一个API 404 9.9.1 准备工作 404 9.9.2 实现方式 405 9.9.3 工作方式 406 9.9.4 延伸阅读 410 第10章 其他内容 411 10.1 简介 411 10.2 技术需求 411 10.3 使用Django shell 412 10.3.1 准备工作 412 10.3.2 实现方式 412 10.3.3 工作方式 416 10.3.4 延伸阅读 416 10.4 使用数据库查询表达式 416 10.4.1 准备工作 416 10.4.2 实现方式 418 10.4.3 工作方式 421 10.4.4 延伸阅读 423 10.5 slugify()函数的猴子补丁以获得更好的国际支持 423 10.5.1 准备工作 423 10.5.2 实现方式 424 10.5.3 更多内容 424 10.5.4 延伸阅读 425 10.6 切换调试工具栏 425 10.6.1 准备工作 425 10.6.2 实现方式 426 10.6.3 工作方式 428 10.6.4 延伸阅读 429 10.7 使用ThreadLocalMiddleware 429 10.7.1 准备工作 430 10.7.2 实现方式 430 10.7.3 工作方式 431 10.7.4 延伸阅读 432 10.8 使用信号通知管理员有关新的条目 432 10.8.1 准备工作 432 10.8.2 实现方式 433 10.8.3 工作方式 434 10.8.4 延伸阅读 435 10.9 检查缺失设置项 435 10.9.1 准备工作 435 10.9.2 实现方式 435 10.9.3 工作方式 437 10.9.4 延伸阅读 438 第11章 测试 439 11.1 简介 439 11.2 需求条件 439 11.3 利用Mock测试视图 440 11.3.1 准备工作 440 11.3.2 实现方式 440 11.3.3 工作方式 442 11.3.4 更多内容 443 11.3.5 延伸阅读 443 11.4 利用Selenium测试用户界面 443 11.4.1 准备工作 444 11.4.2 实现方式 444 11.4.3 工作方式 448 11.4.4 延伸阅读 449 11.5 利用Django REST框架测试API 449 11.5.1 准备工作 449 11.5.2 实现方式 449 11.5.3 工作方式 454 11.5.4 延伸阅读 454 11.6 确保测试覆盖率 455 11.6.1 准备工作 455 11.6.2 实现方式 455 11.6.3 工作方式 457 11.6.4 延伸阅读 457 第12章 部署 459 12.1 简介 459 12.2 技术需求 460 12.3 发布可复用的Django应用程序 460 12.3.1 准备工作 460 12.3.2 实现方式 460 12.3.3 工作方式 464 12.3.4 延伸阅读 464 12.4 针对预发布环境利用mod_wsgi在Apache上部署 464 12.4.1 准备工作 464 12.4.2 实现方式 465 12.4.3 工作方式 473 12.4.4 延伸阅读 475 12.5 针对产品环境利用mod_wsgi在Apache上部署 475 12.5.1 准备工作 475 12.5.2 实现方式 476 12.5.3 工作方式 480 12.5.4 延伸阅读 481 12.6 针对预发布环境在Nginx和Gunicorn上部署 481 12.6.1 准备工作 481 12.6.2 实现方式 482 12.6.3 工作方式 490 12.6.4 延伸阅读 492 12.7 针对产品环境在Nginx和Gunicorn上部署 492 12.7.1 准备工作 492 12.7.2 实现方式 493 12.7.3 工作方式 496 12.7.4 延伸阅读 497
售后保障最近浏览猜你喜欢亲,大宗购物请点击企业用户渠道>小苏的服务会更贴心! 亲,很抱歉,您购买的宝贝销售异常火爆让小苏措手不及,请稍后再试~ 非常抱歉,您前期未参加预订活动, 抱歉,您暂无任性付资格 此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购
|