Django 详解

2019-10-10 17:36栏目:www.qy66.vip
TAG:

Django是一个开源的Web应用框架,由Python写成。选拔MVC的软件设计形式,主要指标是驱动开采复杂的、数据库驱动的网址变得简单。Django珍视组件的重用性和“可插拔性”,敏捷开拓和D冠道Y准则(Don’t Repeat Yoursef)。

花了两周时间,利用专业间隙时间,开辟了二个依照Django的项目职分管理Web应用。项目布置的实时动态,能够方便地被项目成员查看(^_^又重新发明轮子了)。以前台到后台,好好折腾了一把,用到:HTML、CSS、JavaScript、Apache、Python、mod_wsgi、Django。好久不用CSS和JavaScript了,认为有一些生分了,查了许多次手册。后台Django开荒条件的搭建也花了广大日子和精力。记录下来,免得以往走弯路。同期给我们推荐一下Django框架,借使你想那一个迅猛地编写自个儿的web应用,可以惦记选用Django,同期Django还有或者会给你提供三个功效强大的后台管理分界面。

Django是二个开源的Web应用框架,由Python写成。选取MVC的软件设计形式,首要目的是驱动开辟复杂的、数据库驱动的网址变得轻巧。Django注重组件的重用性和“可插拔性”,敏捷开拓和D本田CR-VY准绳(Don’t Repeat Yoursef)。在Django中Python被大规模选拔,以致席卷布置文件和数据模型。它能够运维在启用了mod_python或mod_wsgi的Apache2,只怕另外宽容WSGI(Web Server Gataway Interface)的Web服务器。

  1. Django的火速支付

率先步(Model):设计祥和的数据模型。
其次步(View):成立网页模板。Django本身的Html模板语言,非常轻便将数据和模板结合起来,创建动态页面。
其三步(Control):定义U智跑L,提供服务和调整。
入门教程: 

  1. Django开拓遭逢的搭建

Django能够运作在其他遵循WSGI的Web服务器上。本文重要介绍Apache2+mod_wsgi+Django的条件搭建。所急需的软件如下:

Apache2:Web服务器
Python2.x:Python语言帮助
mod_wsgi:Apache的WSGI模块,有了该模块的支持,就能够用Python做为CGI脚本来编写网络利用(在此以前还或者有三个mod_python,在Apache官方网址络发掘mod_python已经过时,渐渐要被mod_wsgi替代,据说mod_wsig品质要好有的)
Django:三个强有力的Python Web开采框架,本文的中坚。
2.1 Apache的安装

下 载:   (选拔版本2.2.22,mod_wsig暂不帮助2.4.2)

解压缩 : $tar xvfz httpd-NN.tar.gz

$cd httpd-NN

编写翻译配置: $./configure –with-included-apr –prefix=PREFIX #with-included-apr选项内定使用apache软件包里面包车型客车apr库

编 译: $make

安 装: $make install

配 置: $vim PREFIX/conf/httpd.conf

测 试: $PREFIX/bin/apachectl -k start

参 考:

官方主页: 
安装文书档案: 
2.2 Python的安装

下 载:  (采用2.X版都足以,3.0暂不支持)

解压缩 : $tar xvf python-X.tar

$cd python-Y

编写翻翻译并配词置: $./configure –enable-shared –prefix=PREFIX #–enable-shared选项钦赐生成python的动态库

编 译: $make

安 装: $make install

测 试: $python

参 考:

官方主页: 
2.3 mod_wsgi模块的装置

下 载:   (选择3.3版本)

解压缩 : $tar xvfz mod_wsgi.X.Y.tar.gz

$cd mod_wsgi.X.Y

编写翻翻译并配词置: $././configure –with-apxs=/usr/local/apache2/bin/apxs –with-python=/usr/local/bin/python # 钦点Apache2的模块编写翻译程序和Python深入分析器

编 译: $make

安 装: $make install

测 试: $python

2.3.1  配置Apache(修改/usr/local/apche2/confi/httpd.conf)

# 加载wsgi模块
LoadModule wsgi_module modules/mod_wsgi.so
....
# HTTP请求处理脚本
WSGIScriptAlias /test /home/xxx/www/test.wsgi
<Directory "/home/xxx/www">
Order allow, deny
Allow from all
</Directory>

2.3.2 编写test.wsgi(WSGI标准:  )

def application(environ, start_response):
 status = '200 OK'
 output = 'Hello World!'

 response_headers = [('Content-type', 'text/plain'),
  ('Content-Length', str(len(output)))]
 start_response(status, response_headers)

 return [output]

2.3.3  重启apche2

在随机网络浏览器中输入:。看到“Hello World!”,恭喜你成功安装了WSGI模块。

参 考:

官方主页: 
设置文书档案: 
布局文书档案: 
WSGI文档: 

2.4 Django的安装

下 载:   (选择1.4版本)

解压缩 : $tar xvfz Django-1.4.tar.gz

$cd Django-1.4

安 装: $python setup.py install

测 试:

$python
>>> import django
>>> print(django.get_version())

参 考:

官方主页: 
安装文档: 
急迅入门: 

  1. Django普通话帮忙

Django使用的是UTF-8编码,所以对于国际化帮助小意思。因为初次玩Django,普通话突显乱,折腾死人了(一向在用的的mysql暗许字符串是latin1编码,vim暗中认可保存的文本编码为ascii)。最后得出结论,假如粤语展现乱码,恐怕Django报错(… unicode …blabla…),请检查:

Django的装置。展开自身项指标settings.py,LANGUAGE_CODE=”zh_CN” ?FILE_CHARSET=’UTF-8′ ?DEFAULT_CHARSET=’utf-8′?
查看本身项目具有的文本编码是或不是以UTF-8编码保存的?确定保障.py文件首先行要抬高:#-*-  coding:utf-8 -*- ?
HTML模板文件head部分,增加<meta http-equiv=“Content-Type” content=“text/html;charset=utf-8″/>
检查自身项指标数据库字符串编码是还是不是为UTF-8,命令如下: 
查看:

show create database dbname; 
show create table tablename; 
show full columns from tablename; 

创建:

create database dbname CHARACTER SET utf8; 
create table tblname CHARACTER SET utf8; 

修改:

alter database dbname CHARACTER SET = utf8; 
alter table tablename CONVERT TO CHARACTER SET utf8;
  1. Django应用的布置

Django应用的运营有四个法子,一种是在开拓阶段,使用成立项目上面包车型大巴manager.py runserver ip:port来运行贰个用Python完成的轻型web服务器;其余一种正是因而mod_wsgi将您自个儿的接纳陈设到生产境况,对外提供劳动。上边简介一下Django的布局(设想主机上的布局,自行参谋文书档案)。

若是你创设的Django项目文件列表如下:

my-site
|- my-site
|- myapp
 |-static
 |- ...
|- static
 |- css
 |- js
 | ...
|- apache
|- ...
    1. 创制Django项目标wsgi脚本(my-site/apache/django.wsgi),内容如下:

      import os, sys

      sys.path.append('/.../www/') sys.path.append('/.../www/my-site') os.environ['DJANGO_SETTINGS_MODULE'] = 'my-site.settings' os.environ['PYTHON_EGG_CACHE'] = '/.../www/.python-eggs'

      import django.core.handlers.wsgi

      _application = django.core.handlers.wsgi.WSGIHandler()

      def application(environ, start_response): if environ['wsgi.url_scheme'] == 'https': environ['HTTPS'] = 'on' return _application(environ, start_response)

4.2. 配备Apache(httpd.conf),内容如下:

# 请求访问www.xxx.com/的时候,转到django.wsgi
WSGIScriptAlias / /.../www/my-site/apache/django.wsgi

<Directory /.../www/my-site/apache>
Order deny,allow
Allow from all
</Directory>

# 静态文件的访问路径配置
Alias /static/ /.../www/my-site/static/

<Directory /.../www/my-site/static>
Order deny,allow
Allow from all
</Directory>

4.3. 配置setting.py

EBUG=False
自定义404.html,500.html模板(网页未找到、服务器内部错误)

4.4. 静态文件

STATIC_ROOT = ‘/…/www/my-site/static/’
STATIC_URL = ‘/static/’
$./manager.py collectstatic

只顾:开辟阶段,平时都会把相应app的静态文件,放在app目录下的static目录下。在正规生产条件安顿的时候,使用./manager.py collectstatic来把全部静态文件搜罗到STATIC_ROOT钦命的地点,包蕴管理后台的。

4.5. 重启apahce

浏览器输入相应的U奥迪Q5L地址,见到您本身的web应用分界面包车型地铁话,恭喜马到成功!

  1. 总结

正文重要介绍了一下Django开采情况的搭建、Django应用的布署和华语乱码的消除办法。具体怎样利用Django飞快地成立和睦的web应用,并未谈起。Django绝对来讲,文书档案比较完备,加上官方推出的一本书:《The Django Book》,相信只要付出条件搭建好,创立本身的Web应用也会特别轻松。

尤为读书Django,请看:

Django1.4文档: 
Django Book 英文版: 
Django Book 中文版: 

 

 

版权声明:本文由千亿游戏官网发布于www.qy66.vip,转载请注明出处:Django 详解