Django 3.0入门与实践
1星价
¥52.9
(6.7折)
2星价¥52.9
定价¥79.0
图文详情
- ISBN:9787302567141
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:其他
- 页数:316
- 出版时间:2021-02-01
- 条形码:9787302567141 ; 978-7-302-56714-1
本书特色
一线程序员撰写,凝聚自己多年开发经验,深入浅出阐释Django开发涉及的方法和实践一线程序员撰写,凝聚自己多年开发经验,深入浅出阐释Django开发涉及的方法和实践另附
内容简介
本书是一线程序员多年开发经验的结晶。书中深入浅出地讲解了使用Django开发Web网站所需的配置、后台、路由系统、模型、视图、模板、表单系统、中间件、自动化测试、靠前化及本地化、安全和部署等内容,帮助读者快速进入Web项目开发,在项目实践中灵活应用各种开发技术和方法。
本书主要包含四部分:部分(章)为读者介绍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 version·······································32
4.3 check ········································32
4.4 compilemessages ··························32
4.5 createcachetable ····························34
4.6 dbshell ·······································34
4.7 diffsettings ··································35
4.8 dumpdata····································35
4.9 flush··········································36
4.10 inspectdb ··································36
4.11 loaddata ····································38
4.12 makemessages ····························38
4.13 startproject ································39
4.14 startapp ····································39
4.15 runserver···································40
4.16 sendtestemail······························40
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 collectstatic································44
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_TABLESPACE···57
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_PERMISSIONS·······60
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_SEPARATOR···················63
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_BIDI·························70
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_NOSNIFF·············································73
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 elds·····················································91
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 inlines·················································97
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 lters·································104
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 elds·································107
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_by·······································110
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_instances·························116
6.2.21 get_inlines ········································116
6.2.22 get_urls ············································116
6.2.23 get_form···········································117
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_permission·······················120
6.2.33 has_add_permission·························120
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.form····················125
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 elds······127
6.5.10 InlineModelAdmin.template············128
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 ·····················································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 blocktrans·········································278
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
展开全部
作者简介
李健,高级自动化开发工程师,持续集成开发工程师,拥有多年软件开发经验,以及丰富的Web开发经验,擅长ASP.NET相关技术。熟练掌握Python和Django框架,Jenkins以及持续集成。目前重点关注Python语言、数据挖掘等领域。
预估到手价 ×
预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。
确定