1、Python Web开发基础教程(Djangol)第2 章 Django fi f本章主要内容:Django项目的配置文件在Web服务器中部署项目2.1 Djangol目的配置文件,在执行django-自动生成表文件 Django项目的配置文件为settiys.py admin startproject命令创建项H时会本节主要内容 基本配置 模板配置 数据库配置 静态资源配置2.1.1基本配置settings.py文件的主要代码:settings.py文件中主要的配置变量说明如下。i.BASE_DI RBASE_DI R变量设置项目在系统中的实际路径。2.SECRET_KEYSECRET_KE
2、Y变量值是自动生成的一个随机数,用于重要 数据的加密处理,如用户密码、CSRF机制、Session会话 等数据的加密。在部署项目时,应妥善保管SECRETJCEY,避免泄密。-3-DEBUG和ALLOWEDJOSTS DEBUG变量值默认为True,表示项目处于调试模式,即 开发阶段。项目完成进行部署时,应将其设置为False。ALLO WED_HO STS变量为可访问项目Web站点的域名,默认为空。当DEBUG变量值为True,且 ALLO WED_HO STS变量值为空时,只允许用localhost或 工27.0.0.1访问项目Web站点。在部署项目时,DEBUG变量 值为False,止匕
3、时必须设置ALLO WED_HO STS,否则项目 将无法启动。例如,可设置ALLO WEDJHO STS,1*1,允 许所有域名访问。一4.I NSTALLED_APPS I NSTALLED_APPS变量用于注册在项目中使用的应用,默 认包含了 Django内置的部分应用。django.contrib.admin:用于网站后台数据管理。django.contrib.auth:用于用户认证。django.contrib.contenttype:用于管理项目中的应用和模型信息。django.contrib.sessions:用于会话(Session)控制。django.contrib.mess
4、ages:用于消息框架。django.contrib.staticfiles:用于静态文件管理5.MIDDLEWAREMIDDLEWARE变量用于注册在项目中使用的中间件。6.ROOT_URLCONFROOT_URLCONF变量设置项目的根URL配置模块,示例代码如下。ROOT_URLCONF=myDjango.urls表示使用项目中myDjango文件夹下的urls.py文件作为项目的根URL配置模块。7.TEMPLATESTEMPLATES变量配置项目使用的模板。本书将在第6章详细讲解模板的相关内容。8.WSGLAPPLICATIONWSGLAPPLICATION变量设置项目运行在WSGI
5、兼容的Web服务器的接口程序。-9-DATABASES DATABASES变量设置数据库的相关配置。Django项目默认使用SQLite数据库。项目启动后,Django会在项目根目 录中钿建一个名为db.sqlite?而数癌用。io.AUTH_PASSWORD_VALIDATORS-AUTH_PASSWORD_VALIDATORS变量设置授权的密码校验器。ii.LANGUAGE_CODE LANGUAGEJZODE变量设置项目语言。12.TIME_Z0NE和USE_TZ TIME_Z0NE变量设置项目时区。USE_TZ变量值设置为True时,时区设置才有效。13.USEJ18N USE:l8N
6、变量值默认为True,表示支持国际化。如果不需要该功能,应将其设置为False。14.USE_LioN-USE_LloN变量值默认为True,表示支持格式本地化。2.1.2模板配置在settings.py中,项目默认的模板配置如下。TEMPLATES=(BACKEND:django.template.backends.django.DjangoTemplates,DIRS:,APP.DIRSiTrue,OPTIONS:!context_processors:django.template.contexCprocessors.debug/django.template.context_proce
7、ssors.request,django.contrib.auth.context_processors.auth1,django.contrib.messages.context_processors.messages.各个选项含义如下。BACKEND:设置处理模板的模板引擎。DI RS:配置模板的搜索路径。在项目中使用自定义的模板 时,需要在此配置模板的搜索路径。例如,DI RS!os.pathjoin(BASE_DI R,lhello/templatesl)o-APP_DI RS:默认而为True,表示Django默认在项目应用的 templates路径中搜索模板。O PTI O NS:
8、设置可选项。其中的context_processors用于设 置模板使用的上下文处理器2.1.3数据库配置,在settings.py中,项目默认的数据库配置如下。DATABASES=default1:!ENGINE:django.db.backends.sqlite3zNAME:os.path.join(BASE_DIR,ldb.sqlite3,)/其中,default”表示项目使用的默认数据库。“ENGI NE”选项定义数据库引擎(也称数据啕司鼠),_ django.db.backends.sq 也3 表不使用SQLite3数据库。“NAME”选项指定SQLite3数据库的磁盘文件事。2.1
9、.4静态资源配置Django将CSS文件、JavaScript脚本和图片等文件视为静态资源。在settings.py中,项目默认的静态资源URL访问路径配置如下。STATIC_URL=/static/其中的“static作为访问静态资源又件的URL轮隹例 如Jhttp:i2 7.o.o.i:8ooo/static。与之对应,应该在Django项目 的各个应用中创建一个与STATI JURL同名的文件夹来存放静态 资源文件夹。settings.py的I NSTALLED_APPS配置默认包含了 django.contrib.staticfiles,7,它将用于管理项目中的静态文件。2.2在Web
10、服务器中部署项目本节主要内容常用Web服务器WSGI简介,在I I S中部署Django项目部署包含静态资源的Django项目2.2.1常用Web服务器,i.Apache HTTP Server,Apache HTTP Server是Apache软件基金会推出的开源 Web服务器,它是目前应用最广泛的Web服务器。Apache HTTP Server的特点是简单、速度快、性能稳 定、安全可靠,可通过简单的API进行扩展,并且集 成了Perl、Python等语言解释器。,Apache HTTP Server支持UNI X类和Windows操作系统,以及Novell NetWare和EBCDI C
11、平台。2.NginxNginx是一款高性能的HTTP和反向代理服务器,也可 作为电子邮件服务器。Nginx在高连接并发的情况下,能够支持高达5万个并发连接数的响应,而内存、CPU等系统资源消耗却非常低,运行非常稳定。Nginx用C语言实现,已经被移植到许多体系结构和操 作系统,包括Linux、FreeBSD、Solaris、Mac O S X AIX以及Microsoft Windows。-3-HS,I I S(I nternet I nformation Service,互联网信息服务)是微软推出的一款运行于Windows系统的服务器。它 包括Web服务器、FTP服务器、NNTP服务器和SM
12、TP 服务器,分别用于网页浏览、文件传输、新闻服务和 邮件发送等方面。I I S提供I SAPI作为扩展Web服务器 功能的编程接口。222WSGI 简介 WSGI(Python Web Server Gateway Interface)称为 Python Web服务器网关接口。WSGI既不是服务器,也不是用于开发的API,它只是定 义了一种接口。WSGI规范PEP 333于2003年发布,并于2010年更新为PEP 3333 PEP 333王要支持Python 2.X,PEP 3333主要支持 Python 3.X0 引用Python提供的WSGI参考服务器、(wsgiref.simple_server)模块,可快速实现Web服务器2.2.3 在IIS中部署Django项目2.2.4 部署包含静态资源的Django项目settings.py中的“STATI CJJRL=/static/”设置了静态 资源的URL路径。在开发阶段,开发服务器负责管理静态资源,所以使 用“localhost/static/”作为静态资源访问路径。项目部署到生成服务器时,则由生产服务器负责管理 静态资源,此时需要在settings.py中添加“STATI C_RO O T设置,用该目录收集项目中的静态 资源。2.3实践:在IIS中配置HelloWorld本节主要内容
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100