Django + Python + MySQL 的开发与部署
来源:互联网 发布:如何下载淘宝卖家版 编辑:程序博客网 时间:2024/06/05 13:16
前段时间自学了一下Django的web开发,帮自己的部门完成了一个小型资产管理的网站,现在总结一下过程。
一. 开发环境的搭建:
在windows7上采用eclipse + python + pydev + django开发,安装流程如下:
1. 下载并安装python。本文作者使用的是Windows 7 x86_64位,使用python2.7.6版本,默认安装到C:\python27\。
2. 下载并解压Django-1.6.5.tar.gz。运行命令行工具“cmd”,进入解压后的目录,运行C:\python27\python.exe setup.py install完成安装Django。
3. 安装好的Django一般在Python安装目录的Lib\site-packages下, 然后将C:\python27\Python26\Lib\site-packages\django\bin;添加到系统环境变量path中(注意路径值根据个人安装情况而定)。添加成功之后关闭cmd。再重新启动一个cmd,输入命令django-admin.py startproject mysite,如果没有提示错误,则表示安装成功。
4. 安装Eclipse中开发Python的插件PyDev
- 本来是可以通过eclipse->Windows->Preferences->Install/Update->Available Software Sites增加Pydev网址,然后通过eclipse->help->Install New Software...进行安装PyDev,貌似在我们这篇神奇的国土,这个方法无法访问安装
- 基于以上原因,我们只能通过手动进行PyDev插件的安装了:从http://www.pydev.org/download.html下载PyDev插件,将其解压后的文件夹里会有features和plugins两个文件夹,将其内容拷贝到eclipse对应的文件夹下即可:
- 配置PyDev,Preferences->Pydev->Interpreter-Python点Auto Config
二. 部署环境的搭建:
在ubuntu上采用 Django + Apache + Mysql搭建web server.
1. 安装Python, ubuntu一般会自带,可使用python --version 查看版本,推荐2.7+
2. 安装Django, 介绍两种方式:
下载安装包直接安装,到网站上下载: www.djangoproject.org Django-x.x.x.tar.gz
解压:tar xzvf Django-1.2.1.tar.gz
安装:sudo python install setup.py
使用pip工具安装, 先安装pip工具,sudo apt-get install python-pip, 再安装Django, sudo pip install Django==1.6.7
3. 安装Apache: sudo apt-get install apache2
4. 安装MySQL: sudo apt-get install mysql-server mysql-client
5. 需要通过python去访问MySQL,所以需要安装MySQLdb,sudo apt-get install python-mysqldb
6. Apache 需要支持WSGI(Web Server Gateway Interface),这是web server和web application 之间的标准接口, 所以我们需要安装libapache2-mod-python: sudo apt-get install libapache2-mod-python
7. 测试Django 和 MySQLdb是否成功, 在命令行进入python shell:python
>>>import django
>>>import MySQLdb
如果没有报错,说明安装成功
8. 检测Django本地服务器是否能成功工作:
sudo mkdir /home/djangoapps
sudo mkdir /home/djangoapps/work
cd /home/djangoapps/work
django-admin startproject mysite
cd mysite
python manage.py runserver
命令运行成功,会出现以下提示:
Validating models...
0 errors found
September 24, 2014 - 09:57:47
Django version 1.6.7, using settings 'mysite2.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
然后在浏览器输入http://127.0.0.1:8000/,可以看到一个django的页面,说明Django已经没有问题。
三. Apache和Django的关联:
1. 设置Apache的权限:
cd /etc/apache2sudo vim apache2.conf
<Directory /> Options FollowSymLinks AllowOverride None #Require all denied Allow from all</Directory>
#号是我加的,Alow from all也是加的,改成这个样子就是了。
2. 创建Django工程, 这在测试Django本地server的是够已经完成。
3. 创建WSGI
sudo vim /home/djangoapps/work/mysite/apache/django.wsgi
填入如下内容:
import osimport syspath = '/home/djangoapps/work/mysite'if path not in sys.path: sys.path.insert(0, '/home/djangoapps/work/mysite')os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'import django.core.handlers.wsgiapplication = django.core.handlers.wsgi.WSGIHandler()path是刚创建的工程文件夹位置,对应"mysite"的地方都是对应那个工程的名字。
4.建站点设置文件
cd /etc/apache2/sites-availablesudo vim mysite.conf
填入如下内容
<VirtualHost *:80> #ServerName hello.djangoserver DocumentRoot /home/djangoapps/work/mysite <Directory /home/djangoapps/work/mysite> Order allow,deny Allow from all </Directory> WSGIDaemonProcess mydjangosite processes=2 threads=15 display-name=%{GROUP} WSGIProcessGroup mydjangosite WSGIScriptAlias / /home/djangoapps/work/mysite/apache/django.wsgi</VirtualHost>
sudo a2ensite mysitesudo service apache2 reload
Django站点已经配置好了,这时访问 http://127.0.0.1,可以看到的是Apache的页面了。
sudo a2dissite 000-defaultsudo service apache2 reload
这时就能正常访问刚建的django站点了。
6. 配置端口
也可以换个端口,在mysite.conf文件中,<VirtualHost *:80>改成<VirtualHost *:xxxx>自己要的端口,比如8000。
cd /etc/apache2sudo vim ports.conf
看到Listen 80了吧,下面加一行 Listen 8000,就能用8000端口了。
sudo service apache2 reload
四. 开发过程中的问题
1. 在使用html TextArea控件时,发现输入的内容被POST到服务器,写进数据库时是有换行的,但是从数据库读出来再带入到Django的模板时换行会被忽略掉,使用pre标签可以解决此问题,<pre> {{mode}} </pre>。
五. 相关资源:
https://www.djangoproject.com/
http://djangobook.py3k.cn/2.0/
- Django + Python + MySQL 的开发与部署
- BAE3.0部署Python + Django + MySQL
- Django项目实际部署与开发环境的问题
- Apache+WSGI+Django+Python的服务器部署
- sae django+python部署
- python-django部署
- python Django部署
- django应用的部署与创建
- 使用Django进行web开发(1) ----环境的搭建与部署
- Django项目部署 Gunicom + Django + nginx + mysql
- python的django项目uwsgi+nginx的部署
- SAE上部署Python+Django
- ubuntu python django环境部署
- Python-部署Django到Apache
- sae上部署django+mysql
- django项目部署 - 使用MySQL
- Django部署之配置MySQL
- linux+apache+django+mysql 部署
- hdu 5019 第k大公约数
- sql一对多 多的一方按逗号隔开显示
- 【LeetCode】-Binary Tree Level Order Traversal
- js基础知识大总结
- C#中跨线程访问控件: 委托, Invoke, BeginInvoke
- Django + Python + MySQL 的开发与部署
- 微信模板的换行
- android开发步步为营之41:spinner的用法
- [iOS] Swift 初学手册:可选类型 (Optionals)
- Codeforces 449C Jzzhu and Apples(构造)
- iOS开发之异步加载图片
- 重写ScrollView实现两个ScrollView的同步滚动显示
- 关于html5和cocos2d-html5缓存问题及解决办法
- 我的Java开发学习之旅------>Java经典面试题