尚且不知道如何在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 HttpResponse
def 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文件夹路径。
好了,写的还挺累的,但是目的达到了,也挺好的,本来想贴图的,感觉也没啥贴的,还占地方,嘿嘿