windows下发布Django应用

来源:互联网 发布:淘宝 客户 时间 编辑:程序博客网 时间:2024/05/19 19:59

尚且不知道如何在Linux下发布django,就有任务要在windows下发布django应用,确定是一件很蛋疼的事情,虽然经过了一番周折,但总算是搞定了这件事。当然也上网查过很多资料,无奈天性愚钝,很多教程试了一下也不顶事,没图没真相,唉,搞不清楚怎么回事,然后看到国外的一个人写的一个教程,才总算搞清楚是怎么回事,并非我崇洋媚外,老外写的东西确实是简洁而且清晰。当然,我也并不是要翻译那翻文章,只是想把整个配置过程写下来,给需要帮助的人,同时也算是给自己记下笔记吧,毕竟这玩意可把我折腾的够呛。好,废话不说,开始写教程。


微笑安装python,比较容易的一件事情,别忘了将python的安装路径加入环境变量path中

接下来下载django并解压,在命令行中进入django的解压文件中,使用命令”ython setup.py install“,为了在命令行中创建django工程与应用,要将django的bin路径放入path中,如我的路径是:C:\Python27\Lib\site-packages\django\bin


安静接下来安装apache服务器,因为我是个懒人,觉得单独安装apache太麻烦,于是我直接下了个wamp,挺好用的,还是因为我是个懒人,用eclipse + pydev插件,因为这样写程序有代码提示,确实比较方便,差点忘了,根据你的服务器与python版本下载对应的mod_wsgi,我下的是:mod_wsgi-win32-ap22py27-3.3.so - Apache 2.2 / Python 2.7。将下载下来的.so文件重命名为:mod_wsgi.so,复制到apache的modules文件夹中,比如我的是:D:\wamp\bin\apache\apache2.2.22\modules,打开apache的配置文件(比如我的配置文件路径为:D:\wamp\bin\apache\apache2.2.22\conf\httpd.conf),加入这么三行,分别是Alias /static/admin 'D:/wamp/www/Django/static/admin' 和 WSGIScriptAlias / "D:/wamp/www/Django/django.wsgi",还有LoadModule wsgi_module modules/mod_wsgi.so。

至于为什么加这三行,且看后文。


在D:\wamp\www\下创建一个文件夹:Django,用eclipse在Django文件夹下创建一个工程:kxc,顺便创建一个项目吧就叫test(费这个大劲不就是要在apache上部署django应用吗),

配置好settings.py,把关于数据库的ENGIN和NAME配置好(我用的sqlite,创建了一个数据库和一张表,然后同步了一下数据库),不然会报错的,为了测试的需要,在kxc里的view.py里简单点东西,比如我写的是:

from django.http import HttpResponsedef Hello(requets):    return HttpResponse("hello,my world!")
很熟悉吧,当然还要配置好相应的url,就不多讲了,有点啰嗦。


在D:\wamp\www\Django文件夹下创建django.wsgi(这是关键),内容为:

import os, sys      sys.path.append('D:/wamp/www/django/')#工程所在目录      os.environ['DJANGO_SETTINGS_MODULE'] = 'kxc.settings'  #settings.py    import django.core.handlers.wsgi      application = django.core.handlers.wsgi.WSGIHandler()  
这完全是我的配置。


Ok,重启服务器,打开http://localhost/hello/,果然是期望的结果,接着想试用一下admin,结果界面难看的吓人。网络的力量是强大的,很快我就找到了解决的办法,在Django文件下创建一个文件夹static,将C:\Python27\Lib\site-packages\django\contrib文件夹下的admin文件夹拷贝到static文件夹下,上面我们在apache配置文件中加入的一行也是为了这个目的,然后将settings.py中的STATIC_ROOT设置为D:/wamp/www/Django/static,也就是我们刚刚创建的static文件夹路径。


好了,写的还挺累的,但是目的达到了,也挺好的,本来想贴图的,感觉也没啥贴的,还占地方,嘿嘿


原创粉丝点击