设为首页 收藏本站
查看: 639|回复: 0

[经验分享] Django 1.6 在Windows平台下的部署

[复制链接]

尚未签到

发表于 2018-6-23 15:19:30 | 显示全部楼层 |阅读模式
  前言
  最近两天研究了下Django1.6在Windows平台中的配置安装,服务器采用Apache。期间遇到过许多新手所遇到的各种问题,也算是一种宝贵经历,问题原因主要是关于新版Django静态文件的配置问题,尤其是media和static两种文件的混淆。网上很多教程都是基于比较老的版本所写,导致配置思路有差异,最有价值的内容当属Django官网的参考资料,值得细读。
  配置环境
  Python:2.7.6
  Apache: 2.2
  Django: 1.6
  OS: windows 7
  目录

  •   Python安装

    •   Python软件安装
    •   Python包安装

  •   Apache安装
  •   Django安装

    •   Django下载
    •   Mod_WSGI配置

  •   Django工程创建

    •   创建工程
    •   Settings.py设置
    •   wsgi.py设置
    •   apache配置
    •   测试工程

  •   总结
Python 安装
Python软件安装
  到Python官网下载相应Win32版本的即可,我的是2.7.6。关于Python版本的选择在网上有很多介绍,因为3.X以上版本很多模块不支持,所以最好选择2.X安装。下载完后直接点击安装,至于安装路径可选择默认也可自定义。建议是最好不要放在类似Program Files的文件夹中,直接放在C盘或其它盘根目录下。因为我在用Mingw32创建Django工程时,安装在此路径下的python会出现C:\program: bad interpreter错误,也可能是自己未配置好的原因。软件安装好后将python安装目录添加到环境变量PATH。
Python包安装
  由于安装Django我使用的是Pip安装,所以在此先安装Pip包,我一般选择国内的安装源,不仅速度快且稳定,上面基本上囊括了PyPi的所有包,很方便。找到PIP相应的目录选择相应的版本,点击下载即可,然后将目录解压,进入目录执行如下命令安装。
pythonsetup.pyinstall  安装好后,需要将[python安装目录]/Scripts路径添加到环境变量,以便在任何地方使用。
Apache安装
  目前用得最广的版本是2.2,直接到Apache官网下载即可。关于是否安装Apache还是Nginx的问题,网上有相关介绍,各有优势,不在此赘述。
Django 安装
Django下载
  进入命令行,可以是Windows CMD, 我用的是Mingw32,执行如下命令:
$pipinstalldjango-ihttp://e.pypi.python.org/simple/  命令中指定下载安装源。安装好后会在Python安装目录中的Lib/Site-packages/路径下生成Django目录,同时会为在Python安装目录下的Scripts/目录中产生django-admin.py文件,此文件就是我们需要用来创建Django工程和应用的主文件,需要详细了解。安装好后需要测试是否安装成功,进入Python Shell环境,执行import django命令,如果未出现错误说明Django安装成功。
Mod_WSGI配置
  下载mod_wsgi.so文件,并配置mod_wsgi模块, 找到Apache安装目录下Conf/httpd.conf,在LoadModule处添加如下语句:
LoadModulewsgi_modulemodules/mod_wsgi.soDjango工程创建
创建工程
  Django工程的创建利用django-admin.py进行,在相应的目录执行如下命令即可创建一个Django工程:
django-admin.pystartprojectzend
  其中,zend是工程名。工程创建好之后,架构如下所示:
zend#项目名称|--zend#项目子文件夹|----__init__.py#项目初始化文件|----settings.py#项目配置文件|----urls.py#项目链接管理文件|----wsgi.py#wsgi配置文件|--manage.py#项目管理文件,执行各种操作,如内置服务器启动,数据库表管理等
  在下面将以此工程进行介绍。
Settings.py设置
  此文件很关键,设置不对无法访问Django项目,设置涉及几个方面,主要字段有:
INSTALLED_APPS#关于APP方面的设置,如自己创建的APPDATABASES#数据库方面设置,mysql,sqlite3,oracle等STATICFILES_DIR#静态文件目录设置TEMPLATE_DIRS#模板文件目录设置
  INSTALLED_APPS字段主要涉及所创建的APP,其中最为关键的一点是关于django.contrib.staticfiles的设置,此处需添加上,这一步很关键。
  DATABASES字段,我设置的是Mysql,所以最后配置如下:
DATABASES={'default':{'ENGINE':'django.db.backends.mysql',#mysqlengine'NAME':'zend',#databasename'USER':'root',#databaseuser'PASSWORD':'xxx',#databasepassword'HOST':'',#主机名'PORT':'',#访问端口}}
  在配置之前,需要创建数据库zend。
  STATICFILES_DIR字段,主要用来配置静态文件目录,当项目运行时,通过此目录找到相应的静态配置文件,如css,js,images等。配置如下:
STATIC_URL='/static/'STATICFILES_DIRS=(os.path.join(BASE_DIR,"static"),)
  TEMPLATE_DIRS字段,主要用来配置模板文件目录。配置如下: TEMPLATE_DIRS=( os.path.join(BASE_DIR,'templates'),)
  配置STATICFILES_DIRS和TEMPLATE_DIRS需要在zend工程目录下创建static和templates文件夹,在apache配置时还提及media,所以同时创建media文件夹。同时最关键的是static文件夹的内容。如果在Apache中指定的static目录是工程目录下的static目录,则执行如下命令后会把site-packages/django/contrib/admin/static/下的内容拷贝到工程目录中的static文件夹中:
pythonmanage.pycollectstatic
  我是按照此方法来设置静态文件的。所以下面Apache的配置也是根据此目录来设置。
wsgi.py设置
  此文件是关于创建工程后的解析设置,文件内容如下:
importos,sysos.environ.setdefault("DJANGO_SETTINGS_MODULE","zend.settings")sys.path.append(r'D:/www/django/zend')#工程路径fromdjango.core.wsgiimportget_wsgi_applicationapplication=get_wsgi_application()
Apache配置
  此步骤是花时间比较多的步骤,一开始查阅网上资料说的都很乱,有的是Django版本不对,有的是Apache配置本身不对。最后静下心查看官网的关于Apache的配置文章才有所领悟。按照此文章的介绍,我整理了下我的配置思路,我主要是用虚拟目录方式来配置,区别就是我把WSGIScriptAlias语句放在了虚拟目录配置文件httpd-vhost.conf中,而常规的话是放在httpd.conf中。
  首先,把httpd.conf文件中的Include conf/extra/httpd-vhosts.conf去掉注释,以便在虚拟目录配置文件中进行Django配置。
  其次,打开conf/extra/httpd-vhosts.conf文件,进行如下配置:
<VirtualHost*:80>  
DocumentRoot "D:/www/django/zend"
  
ServerName localhost
  
AliasMatch ^/([^/]*\.css) "d:/www/django/zend/static/styles/$1
  
Alias /media/ "d:/www/django/zend/media/"
  
Alias /static/ "d:/www/django/zend/static/"
  
<Directory"D:/www/django/zend/static">
  Order deny,allow
  Allow from all
  
</Directory><Directory"D:/www/django/zend/media">
  Order deny,allow
  Allow from all
  
</Directory>
  

  
WSGIScriptAlias / "d:/www/django/zend/zend/wsgi.py"
  

  
<Directory"D:/www/django/zend/zend"><Fileswsgi.py>
  Order Deny,Allow
  Allow from all
  
</Files></Directory></VirtualHost>
测试工程
  如果用Django内置服务器的话,进入工程目录,直接执行以下命令:
pythonmanage.pyrunserver[port]#port可省略,默认为8000
  在浏览器中输入localhost即可,如果出现It works等字眼,说明django配置成功。
  如果用Apache的话,先启动apahce服务,然后输入localhost如果出现上述字眼,表明apache配置成功。
总结
  此文档主要是为记录安装过程所写,以备后忘,在配置过程中,遇到很多问题,从网上也找到一些资料参考,收获还是很多的。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-529736-1-1.html 上篇帖子: Windows 下安装 Apache PHP Mysql Redis 下篇帖子: OPEN***的windows下的证书制作
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表