码迷,mamicode.com
首页 > 编程语言 > 详细

python Django Wbe框架教程

时间:2016-09-02 18:54:52      阅读:379      评论:0      收藏:0      [点我收藏+]

标签:

                  python  Django Wbe框架教程

一、简介

 

Django 中提供了开发网站经常用到的模块,常见的代码都为你写好了,通过减少重复的代码,Django 使你能够专注于 web 应用上有 趣的关键性的东西。为了达到这个目标,Django 提供了通用Web开发模式的高度抽象,提供了频繁进行的编程作业的快速解决方法,以及为“如何解决问题”提供了清晰明了的约定。Django的理念是DRY(Don‘t Repeat Yourself)来鼓励快速开发!

 

让我们一览 Django 全貌

 

urls.py

 

网址入口,关联到对应的views.py中的一个函数(或者generic类),访问网址就对应一个函数。

 

views.py

 

处理用户发出的请求,从urls.py中对应过来, 通过渲染templates中的网页可以将显示内容,比如登陆后的用户名,用户请求的数据,输出到网页。

 

models.py

 

与数据库操作相关,存入或读取数据时用到这个,当然用不到数据库的时候 你可以不使用。

 

forms.py

 

表单,用户在浏览器上输入数据提交,对数据的验证工作以及输入框的生成等工作,当然你也可以不使用。

 

templates 文件夹

 

views.py 中的函数渲染templates中的Html模板,得到动态内容的网页,当然可以用缓存来提高速度。

 

admin.py

 

后台,可以用很少量的代码就拥有一个强大的后台。

 

settings.py

 

Django 的设置,配置文件,比如 DEBUG 的开关,静态文件的位置等。

 

二、安装

在安装Django之前,系统上必须已经安装了Python,至于如何安装Python,这里就不多讲了

安装好Python之后,建议安装easy_install,这样直接使用命令easy_install django即可下载最新版本,非常方便。

注意:以下方法中任何一种方法安装都可,不用每个都试一次。

另外 建议自行安装 bpython,这样在用起来会爽很多。进入终端的时候输入 bpython 可以有提示。当然也可以选择用 ipython

一. 用 pip 来安装

2.1 需要先安装pip

(1). ubuntu: 

sudo apt-get install python-pip

(2). RedHat

yum install python-pip

(3). Linux, Mac OSX, Windows 下都可用 get-pip.py 来安装 pip:https://pip.pypa.io/en/latest/installing.html 

或者直接下载:get-pip.py 然后运行在终端运行 python get-pip.py 就可以安装 pip。

Note: 也可以下载 pip 源码包,运行 python setup.py install 进行安装

2.2 利用 pip 安装 Django

(sudo) pip install Django 或者 (sudo) pip install Django==1.6.10 或者 pip install Django==1.7.6

如果想升级 pip 可以用:

(sudo) pip install --upgrade pip

Windows 用户不要加 sudo,如果提示 ‘python’不是内部或外部命令,也不是可运行的程序或批处理文件。

那说明你的 Python 没有安装好,或者环境变量没有配置正确,最简单的办法是安装新版本的 Python 2.7.9, 里面集成了 pip,安装时要勾选上环境变量这一个

技术分享

 

二. 下载源码安装

https://www.djangoproject.com/download/

如果是源码包, 比如 django-1.7.6.tar.gz

3.1 Linux 或 Mac 下

tar -xvzf django-1.7.6.tar.gz
cd django-1.7.6
(sudo) python setup.py install

3.2 Windows 下

直接用解压软件解压,然后到命令行(XP/Win7点击开始,在下面的那个输入框中输入 cmd, Win8在开始那里点右键,选择命令行)

比如在 D:\django-1.7.6\  这个文件夹下

cd D:
cd django-1.7.6
python setup.py install

什么?提示 ‘python’不是内部或外部命令,也不是可运行的程序或批处理文件。

那说明你的 Python 没有安装好,或者路径没有配置正确

三 Linux用自带源进行安装

1.1  ubuntu 下安装 Django

sudo apt-get install python-django -y

1.2  redhat 下安装用 yum

yum install python-django

注意:自带源安装的 Django 一般版本比较旧,而用 pip 可以安装最新的版本。

2. 检查是否安装成功

终端上输入 python ,点击 Enter,进行 python 环境

1 >>> import django
2 >>> django.VERSION
3 (1, 7, 6, final, 0)
4 >>> 
5 >>> django.get_version()
6 1.7.6

如果运行后看到版本号,就证明安装成功了!

 

3. 扩展:搭建多个互不干扰的开发环境

我们有的时候会发现,一个电脑上有多个项目,一个依赖 Django 1.8,另一个比较旧的项目又要用 Django 1.5,这时候怎么办呢?

我们需要一个依赖包管理的工具来处理不同的环境。

如果不想搭建这个环境,只想用某一个版本的 Django 也可以,但是推荐学习此内容!

3.1 环境搭建

开发会用 virtualenv 来管理多个开发环境,virtualenvwrapper 使得virtualenv变得更好用

# 安装:
(sudo) pip install virtualenv virtualenvwrapper

Linux/Mac OSX 下:

修改~/.bash_profile或其它环境变量相关文件(如 .bashrc 或用 ZSH 之后的 .zshrc),添加以下语句

export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/workspace
source /usr/local/bin/virtualenvwrapper.sh

修改后使之立即生效(也可以重启终端使之生效):

source ~/.bash_profile

Windows 下:

pip install virtualenvwrapper-win

可选】Windows下默认虚拟环境是放在用户名下面的Envs中的,与桌面,我的文档,下载等文件夹在一块的。更改方法:计算机,属性,高级系统设置,环境变量,添加WORKON_HOME,如图(windows 10 环境变量设置截图):

技术分享

3.2 使用方法:

mkvirtualenv zqxt:创建运行环境zqxt

workon zqxt: 工作在 zqxt 环境 或 从其它环境切换到 zqxt 环境

deactivate: 退出终端环境

 

其它的:

rmvirtualenv ENV:删除运行环境ENV

mkproject mic:创建mic项目和运行环境mic

mktmpenv:创建临时运行环境

lsvirtualenv: 列出可用的运行环境

lssitepackages: 列出当前环境安装了的包

创建的环境是独立的,互不干扰,无需sudo权限即可使用 pip 来进行包的管理。

 

 三、Django 基本命令 

1. 新建一个 django project

django-admin.py startproject project-name

一个 project 为一个项目,project-name 项目名称,改成你自己的,要符合Python 的变量命名规则(以下划线或字母开头)

2. 新建 app

python manage.py startapp app-name
或 django-admin.py startapp app-name

一般一个项目有多个app, 当然通用的app也可以在多个项目中使用。

3. 同步数据库

python manage.py syncdb
 
注意:Django 1.7.1及以上的版本需要用以下命令
python manage.py makemigrations
python manage.py migrate

这种方法可以创建表,当你在models.py中新增了类时,运行它就可以自动在数据库中创建表了,不用手动创建。

备注:对已有的 models 进行修改,Django 1.7之前的版本的Django都是无法自动更改表结构的,不过有第三方工具 south,详见 Django 数据库迁移 一节。

4. 使用开发服务器

开发服务器,即开发时使用,一般修改代码后会自动重启,方便调试和开发,但是由于性能问题,建议只用来测试,不要用在生产环境。

python manage.py runserver
 
# 当提示端口被占用的时候,可以用其它端口:
python manage.py runserver 8001
python manage.py runserver 9999
(当然也可以kill掉占用端口的进程)
 
# 监听所有可用 ip (电脑可能有一个或多个内网ip,一个或多个外网ip,即有多个ip地址)
python manage.py runserver 0.0.0.0:8000
# 如果是外网或者局域网电脑上可以用其它电脑查看开发服务器
# 访问对应的 ip加端口,比如 http://172.16.20.2:8000

5. 清空数据库

python manage.py flush

此命令会询问是 yes 还是 no, 选择 yes 会把数据全部清空掉,只留下空表。

6. 创建超级管理员

python manage.py createsuperuser
 
# 按照提示输入用户名和对应的密码就好了邮箱可以留空,用户名和密码必填
 
# 修改 用户密码可以用:
python manage.py changepassword username

7. 导出数据 导入数据

python manage.py dumpdata appname > appname.json
python manage.py loaddata appname.json

关于数据操作 详见后面数据导入数据迁移内容,现在了解有这个用法就可以了。

8. Django 项目环境终端

python manage.py shell

如果你安装了 bpython 或 ipython 会自动用它们的界面,推荐安装 bpython。

这个命令和 直接运行 python 或 bpython 进入 shell 的区别是:你可以在这个 shell 里面调用当前项目的 models.py 中的 API,对于操作数据,还有一些小测试非常方便。

9. 数据库命令行

python manage.py dbshell

Django 会自动进入在settings.py中设置的数据库,如果是 MySQL 或 postgreSQL,会要求输入数据库用户密码。

在这个终端可以执行数据库的SQL语句。如果您对SQL比较熟悉,可能喜欢这种方式。

10. 更多命令

终端上输入 python manage.py 可以看到详细的列表,在忘记子名称的时候特别有用。

(更新中。。。。)

 

python Django Wbe框架教程

标签:

原文地址:http://www.cnblogs.com/panwenbin-logs/p/5834395.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!