python django安装_Python [4] Django的安装和基础运行环境简介

一、Django简介

Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的软件设计模式,即模型M,视图V和控制器C。它最初是被开发来用于管

理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉

普赛爵士吉他手Django Reinhardt来命名的。

二、pip的应用

(1)什么是pip???

pip是一个安装和管理Python包的工具,是 easy_install 的一个替换品。

distribute是setuptools的取代(Setuptools包后期不再维护了),pip是easy_install的取代。

pip的安装需要setuptools 或者 distribute,如果你使用的是Python3.x那么就只能使用distribute因为Python3.x不支持setuptools。

(2)安装pip的两种方式方式1:通过yum的方式安装pip

# rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

# sed -i 's/^#//' /etc/yum.repos.d/epel.repo

# sed -i 's/mirrorlist/#mirrorlist/' /etc/yum.repos.d/epel.repo

# yum -y install python-pip

方式2:通过源码编译安装pip

# wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz

# tar xf setuptools-1.4.2.tar.gz

# cd setuptools-1.4.2

# python setup.py install

# easy_install --version

# cd ../

# wget --no-check-certificate https://pypi.python.org/packages/source/p/pip/pip-1.4.1.tar.gz

# tar xf pip-1.4.1.tar.gz

# cd pip-1.4.1

# python setup.py install

(3)pip的基本使用安装特定版本的package,通过使用==, >=, <=, >, 

pip安装django,并指定安装的版本

# pip install 'django==1.6.5'

pip卸载django

# pip uninstall django

pip查询包

# pip search 'django'

pip升级包

# pip install -U 'django'

列出pip安装的包

# pip freeze

三、安装Django

在linux环境下,安装Django有两种方式

(1)通过pip工具安装django# pip install 'django==1.6.5'

(2)通过源码编译安装django# tar xf Django-1.6.10.tar.gz

# cd Django-1.6.10

# python setup.py install

(3)导入django模块并查看版本号,如果没有错误输出,说明django安装是成功的[root@localhost ~]# python -c 'import django;print (django.get_version())'

1.6.10

四、Django创建项目和应用

(1)创建一个项目[root@localhost ~]# django-admin.py startproject webproject

[root@localhost ~]# tree ./

./

└── webproject#外层目录只是你项目的一个容器,可以任意重命名

├── manage.py    #一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互

└── webproject#目录是你项目中的实际 Python 包。该目录名就是 Python 包名,通过它你可以导入它里面的任何东西

├── __init__.py#一个空文件,告诉 Python 该目录是一个 Python 包

├── settings.py#该 Django 项目的设置/配置

├── urls.py    #该 Django 项目的 URL 声明; 一份由 Django 驱动的网站“目录”

└── wsgi.py#一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目

2 directories, 5 files

(2)创建应用程序[root@localhost ~]# cd webproject/

[root@localhost webproject]# django-admin.py startapp blog

[root@localhost webproject]# tree .

.

├── blog

│   ├── admin.py

│   ├── __init__.py

│   ├── models.py

│   ├── tests.py

│   └── views.py

├── manage.py

└── webproject

├── __init__.py

├── settings.py

├── urls.py

└── wsgi.py

(3)修改django配置文件#需要修改三处位置

[root@localhost ~]# vim webproject/settings.py

INSTALLED_APPS = (

'django.contrib.admin',

'django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.messages',

'django.contrib.staticfiles',

'blog',#第一处添加blog应用

)

LANGUAGE_CODE = 'zh-cn'#第二处修改为中文

TIME_ZONE = 'Asia/Shanghai'#第三处修改时区

(4)配置url访问路径[root@localhost ~]# vim webproject/urls.py

urlpatterns = patterns('',

# Examples:

# url(r'^$', 'webproject.views.home', name='home'),

# url(r'^blog/', include('blog.urls')),

url(r'^admin/', include(admin.site.urls)),

url(r'^blog$','blog.views.index'),#添加一行

#正则匹配,仅访问到^blog目录就重定向到blog.views中的index方法,所以在views.py里面应该定义好index函数/方法

)

(5)创建视图[root@localhost webproject]# vim blog/views.py

from django.shortcuts import render

from django.http import HttpResponse

# Create your views here.

def index(req):

return HttpResponse('

hello django!!!')

(6)运行django服务[root@localhost webproject]# python manage.py runserver 0.0.0.0:80

Validating models...

0 errors found

February 11, 2015 - 11:58:44

Django version 1.6.10, using settings 'webproject.settings'

Starting development server at http://0.0.0.0:80/

Quit the server with CONTROL-C.

[11/Feb/2015 11:59:23] "GET / HTTP/1.1" 404 2003

[11/Feb/2015 11:59:28] "GET /blo HTTP/1.1" 404 2012

[11/Feb/2015 11:59:30] "GET /blog HTTP/1.1" 200 23

五、浏览器访问

ba4a3394ef7d3baec66f1a51dc13af14.png

六、模板层(template)

上述是通过调用blog.views中的index方法,返回一个页面!!!from django.http import HttpRespomse

def index(req):

return HttpRespose(

hello django!!!

)

实际应用中这种方法显然不适合,那么接下来我们就聊聊HTML代码如何嵌套在Django中,有两种方式:

静态页面

方式一:

通过template加载模板,生成Context对象,存放模板所需数据,通过模板对象对数据进行渲染,然后通过HttpResponse输出。

模板文件放在应用程序下面templates目录,这个目录默认不存在需要手动创建

(1)首先查看当前所处的位置和整体项目的目录文件结构[root@localhost webproject]# pwd

/root/webproject

[root@localhost webproject]# tree .

.

├── blog#应用

│?? ├── admin.py

│?? ├── admin.pyc

│?? ├── __init__.py

│?? ├── __init__.pyc

│?? ├── models.py

│?? ├── models.pyc

│?? ├── tests.py

│?? ├── views.py

│?? └── views.pyc

├── manage.py

└── webproject#项目

├── __init__.py

├── __init__.pyc

├── settings.py

├── settings.pyc

├── urls.py

├── urls.pyc

├── wsgi.py

└── wsgi.pyc

2 directories, 18 files

(2)创建我们的第二个应用www[root@localhost webproject]# django-admin.py startapp www

[root@localhost webproject]# ls

blog  manage.py  webproject  www

(3)更新项目配置文件,发布新应用并设置url[root@localhost webproject]# vim webproject/settings.py

INSTALLED_APPS = (

'django.contrib.admin',

'django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.messages',

'django.contrib.staticfiles',

'blog',

'www',#添加新行

)

[root@localhost webproject]# vim webproject/urls.py

urlpatterns = patterns('',

# Examples:

# url(r'^$', 'webproject.views.home', name='home'),

# url(r'^blog/', include('blog.urls')),

url(r'^admin/', include(admin.site.urls)),

url(r'^blog$','blog.views.index'),

url(r'^www$','www.views.index'),#添加新行

)

(4)创建模板目录并生成html文件[root@localhost webproject]# mkdir www/templates

[root@localhost webproject]# cat www/templates/index.html

html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

My Django Page

Hello Django!!!

(5)修改应用的视图文件views[root@localhost webproject]# vim www/views.py

from django.shortcuts import render

from django.template import loader,Context#导入django的两个对象loader和Context

from django.http import HttpResponse

# Create your views here.

def index(req):

t = loader.get_template('index.html')#导入模板文件www/templates/index.html

c = Context({})#创建Context对象,用于存放提供给模板的数据(用于动态网页)

return HttpResponse(t.render(c))

(6)浏览器访问

17c055b2b7e6e3f3b82f78476c1d4deb.png

方式二:修改方式一(只需修改第五步,其它一样)[root@localhost webproject]# cat www/views.py

from django.shortcuts import render

from django.shortcuts import render_to_response

# Create your views here.

def index(req):

return render_to_response('index.html',{})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值