2010年自考《社会研究方法》复习笔记第四章.doc_第1页
2010年自考《社会研究方法》复习笔记第四章.doc_第2页
2010年自考《社会研究方法》复习笔记第四章.doc_第3页
2010年自考《社会研究方法》复习笔记第四章.doc_第4页
2010年自考《社会研究方法》复习笔记第四章.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

DjangoWindows下Django配置Apache示范设置 概述Django(发音:/dæo/ JANG-goh) 是用python语言写的开源web开发框架(open source web framework),它鼓励快速开发,并遵循MVC设计。Django遵守 BSD版权,初次发布于2005年7月, 并于2008年9月发布了第一个正式版本1.0 。最新发行版本是Django 1.4,于2012年03月23日发布. Django 根据比利时的爵士音乐家Django Reinhardt命名,他是一个吉普赛人,主要以演奏吉它为主,还演奏过小提琴等。 设计哲学Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以“插件”形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包。这使得Django具有很强的可扩展性。它还强调快速开发和DRY(Do Not Repeat Yourself)原则。 Django基于MVC的设计十分优美: 对象关系映射 (ORM,object-relational mapping) 以Python类形式定义你的数据模型,ORM将模型与关系数据库连接起来,你将得到一个非常容易使用的数据库API,同时你也可以在Django中使用原始的SQL语句。 URL 分派 使用正则表达式匹配URL,你可以任意设计的URL,没有框架的特定限定。象你喜欢的一样灵活。 模版系统 使用Django强大而可扩展的模板语言,可以分隔设计、内容和Python代码。并且具有可继承性。 表单处理 你可以方便的生成各种表单模型,实现表单的有效性检验。可以方便的从你定义的模型实例生成相应的表单。 Cache系统 可以挂在内存缓冲或其它的框架实现超级缓冲 实现你所需要的粒度。 会话(session),用户登录与权限检查 快速开发用户会话功能。 国际化 内置国际化系统,方便开发出多种语言的网站。 自动化的管理界面 不需要你花大量的工作来创建人员管理和更新内容。Django自带一个ADMIN site,类似于内容管理系统。 部署Django可以运行在Apache上,也可以运行在支持WSGI,FastCGI的服务器上。支持多种数据库,已经支持Postgresql, MySql, Sqlite3,Oracle。 目前,Google App Engine也支持Django的某些部分。 文档Django1.0 建立了强大完整的文档体系 1(/en/dev/),涵盖了Django的方方面面,并且适合各种水平的读者和开发者. 其中还包含若干个简单的示例,你可以跟随他们一步步体验Django的优美。 Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。同时Apache音译为阿帕奇,是北美印第安人的一个部落,叫阿帕奇族,在美国的西南部。也是一个基金会的名称、一种武装直升机等等。 DjangoWindows下Django配置Apache示范设置Django:Apache:继续阅读之前,我们假设您熟悉以下知识:n Pythonn Djangon Apache如果不熟悉这些知识点,可以看本文最后资源列表中的文章。本文讨论了在Windows环境下,将Django配置到Apache Web Server时所遇到的问题,以及最终解决的示范步骤。您可以遵循后文描述的配置步骤,在此之前,我们先描述两个常见的错误现象。常见错误现象1关键词:client denied by server configuration。表象:访问了http:/localhost:80/mysite/ 后,假如发现图片没有加载,或者css没有应用上,并且httpd.conf文件中Location的配置绝对路径肯定没错。解释:第一, 首先检查httpd.conf配置Alias的配置,看看Alias设置的路径是否正确,Alias /site_media c:/django/myproject/media请保证您附加的这个路径肯定是你的图片或者css存放的路径。其次,请检查您的django项目myproject目录下的settings.py,保证MEDIA_ROOT、STATIC_PATH、TEMPLATE_DIRS这三个参数指向的绝对路径正确无误。最后,如果上面的参数都没错,却还是不行。那么请您检查Apache的日志文件Apache2.2logserror.log如果您发现有这样的错误提示:错误日志Mon Nov 20 17:27:08 2006 notice Child 4172: Starting thread to listen on port 80.Mon Nov 20 17:27:08 2006 error client client denied by server configuration: c:/Django/myproject/media/css/global.css, referer: http:/localhost:80/mysite/那么说明是因为对这些资源文件的访问被拒绝了。此时,请您浏览 http:/localhost:80/site_media/css/global.css ,如果遇到了HTTP 403错误,就说明是权限问题。此时,请到httpd.conf,增加如下配置来允许静态资源文件夹被访问:增加的配置行# 对需要访问的区域,可以增加正确的Directory块# 否则会得到这样的错误:client denied by server configuration: c:/Django/myproject/media/css/global.css, referer: http:/ /localhost:80/mysite/ Order Deny,Allow Allow from all 重启Apache服务。常见错误现象2关键词:EnvironmentError: Could not import settings。表象:访问了http:/localhost:80/mysite/ 后,直接页面报告如下错误:页面错误输出1. Mod_python error: “PythonHandler django.core.handlers.modpython”Traceback (most recent call last):File “C:Python24Libsite-packagesmod_pythonapache.py”, line 299, in HandlerDispatchresult = object(req)File “c:django_srcdjangocorehandlersmodpython.py”, line 163, in handlerreturn ModPythonHandler()(req)File “c:django_srcdjangocorehandlersmodpython.py”, line 125, in _call_if settings.ENABLE_PSYCO:File “c:django_srcdjangoconf_init_.py”, line 27, in _getattr_self._import_settings()File “c:django_srcdjangoconf_init_.py”, line 54, in _import_settingsself._target = Settings(settings_module)File “c:django_srcdjangoconf_init_.py”, line 82, in _init_raise EnvironmentError, “Could not import settings %s (Is it on sys.path? Does it have syntax errors?): %s” % (self.SETTINGS_MODULE, e)EnvironmentError: Could not import settings myproject.settings (Is it on sys.path? Does it have syntax errors?): No module named myproject.settings 这是开始配置django+apache最容易遇到的问题,:D。解释:这是因为apache在系统目录下找不到myproject/settings.py文件。首先检查PythonPath设置的路径是否正确:PythonPath sys.path+c:/django注意,这个c:/django路径实际是我们的项目路径c:/django/myproject的上一级目录!不要写错了。增加的配置行# mysite目录路径: c:/django/myproject,# 但是对于PythonPath,必须设置成这个目录的上一级目录!# this site url:http:/localhost:80/mysite/ SetHandler python-program PythonPath sys.path+c:/django PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE myproject.settings PythonInterpreter mysite PythonDebug On配置Django到Apache的步骤:如何在Windows环境下安装Apache和mod_Python, 这篇Blog解释得很明白,我下面的这些步骤得到了验证。1:从 /来获取apache_2.2.3-win32-x86-no_ssl.msi这个安装文件;运行这个msi即可顺利安装Apache。2:网络上有很多说可以利用Apache和mod_python源代码来编译安装mod_python的,但是如果你仅仅想快速安装,那么请从/dist/httpd/modpython/win/3.2.10/直接下载mod_python-3.2.10.win32-py2.4-apache2.2.exe文件,运行这个exe即可顺利把mod_python安装到Python2.4以及Apache2.2;由于GFW的封锁,可能您无法访问apache网站,那么可以从这里下载:/zhengyun_ustc/mod_python-3.2.10.win32-py2.4-apache2.2.rar 3:我们用Python django-admin.py startproject myproject命令,在C盘的django目录下创建了一个Django项目myproject。我们把它引用的图片文件和css文件等静态资源都放在myproject文件夹下的media目录中。此时,将myproject目录下的settings.py文件中的这三个参数修改一下,主要是为了从相对路径变成绝对路径:修改的配置行# Django settings for myproject project.将相对路径改为绝对路径。主要有: MEDIA_ROOT TEMPLATE_DIRS STATIC_PATH # Absolute path to the directory that holds media.# Example: /home/media//MEDIA_ROOT = c:/django/myprojectSTATIC_PATH = c:/django/myproject/mediaTEMPLATE_DIRS = ( # Put strings here, like /home/html/django_templates. # Always use forward slashes, even on Windows. c:/django/myproject/templates,)切记切记,一定要保证这三个参数是绝对路径。4:配置Apache的httpd.conf配置文件:首先,在“Dynamic Shared Object (DSO) Support”的配置下增加一行LoadModule python_module modules/mod_python.so这个必须手动添加。5:我们列出此时Apache所需要的参数分别为:项目名:myporject试图访问的URL为:http:/localhost:80/mysite/静态资源文件的存放目录:c:/django/myproject/media项目文件夹路径:c:/django/myproject好了,此时你就应该在httpd.conf文件的最后附加这段配置,以便让Apache知道到哪里去定位myproject/settings.py文件:增加的配置行# mysite目录路径: c:/django/myproject,# 但是对于PythonPath,必须设置成这个目录的上一级目录!# this site url:http:/localhost:80/mysite/ SetHandler python-program PythonPath sys.path+c:/django PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE myproject.settings PythonInterpreter mysite PythonDebug On对于上面的配置,Limodou注释道:“上面 PythonPath 主要是将 myproject的目录加入到 sys.path ,以便 Django 可以找到。需要使用绝对路径。SetEvn 中设置的 DJANGO_SETTINGS_MODULE 就对应于你的 项目名.配置文件。因此为了能导入 项目名.配置文件,就需要前面的 PythonPath 的设置。PythonDebug 和 PythonAutoReload 建议在生产时设为 Off 。”为了让图片、css、script能够被Apache成功加载,还需要在httpd.conf最后附加这段配置:增加的配置行#Alias /site_media 是用来将 myproject的静态文件设置一个 URL 访问的别名。Alias /s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论