×
暂无评论
图文详情
  • 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语言、数据挖掘等领域。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航