我在Win 7上的开发环境设置如下:
Django开发结构
Apache -server- C:\Program Files (x86)\Apache Software Foundation\Apache2.4
PostgreSQL -database- C:\Program Files\PostgreSQL\9.2
Django -framework- C:\Python27\Lib\site-packages\django
Python -code- C:\Python27
Project -root- C:\mysite
|----------apps
|----------HTML
|----------CSS
|----------JavaScript
|----------assets
我试图让这个开始变得非常简单。有5个主要目录,每个目录都有不同的目的。所有代码都驻留在项目文件夹中。
与WAMP结构相比:
C:\WAMP
|----------C:\Apache
|----------C:\MySQL
|----------C:\PHP
|----------C:\www
我喜欢Apache,MySQL和PHP都位于一个整洁的目录中。我知道出于安全原因,将根项目OUTSIDE保存在Django的另一个目录中。
我希望这是开始Django网络程序员的准则。
答案 0 :(得分:1)
Apache只是Web服务器,它用于提供文件,但要创建一个您不需要的网站。 Django自带开发服务器。见:
python manage.py runserver
在开发PHP网站时需要Apache,因为您的计算机不知道如何编译和解释它。但是对于Django,你使用Python语言,如果你使用Django,你已经安装了它。
阅读https://docs.djangoproject.com/en/1.5/intro/tutorial01/
使用Apache设置自己的服务器的时间是: https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/modwsgi/
答案 1 :(得分:1)
我可以逐一回答这个问题:
Is if fine that Apache, PostgreSQL, and Python are installed all over the place in the Django environment?
整个地方听起来很奇怪,但是它完全没问题。
Did I miss a core Django component and/or directory?
不,你不会错过任何东西,Django核心已经在site-packages
文件夹中,你的网站代码是mysite
,可以找到你想要的任何地方。
Will deploying and scaling be a problem?
不,它不会成为当前结构的问题。您将仅部署mysite
,另一个将单独安装。
开始使用Django开发时应该熟悉的东西:
最有可能在部署项目时,它将位于Linux服务器上,因此可能安装和学习Linux吗?
virtualenv:很快你将不得不安装Django,然后是一堆外部软件包来支持你的项目。 virtualenv
可帮助您隔离工作环境。当你开始使用python开发时,它必须是“非官方的”。
virtualenvwrapper在使用virtualenv
答案 2 :(得分:1)
缩放将是Windows上的一个问题。 Windows上的Apache中的Python在一个进程中获得64个线程。将此与GIL相结合,您将遇到缩放问题。
Linux上的Python和Apache没有同样的问题。在Linux下,wsgi可以创建多个进程,每个进程都有多个线程,从而最大限度地减少了GIL问题。
在我看来,Apache on Windows上的WSGI不是一个可扩展的解决方案。
但是你可以在那里开发并转移到linux进行部署,我会一直这样做。
您需要利用Apache Alias directive来提供所有静态内容,例如css,js,favicon.ico。这使得python只能处理需要逻辑的请求。