首页 > 代码库 > python Django Wbe框架教程
python Django Wbe框架教程
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.gzcd 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.6python 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 django2 >>> django.VERSION3 (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/.virtualenvsexport PROJECT_HOME=$HOME/workspacesource /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 来进行包的管理。
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 makemigrationspython manage.py migrate
这种方法可以创建表,当你在models.py中新增了类时,运行它就可以自动在数据库中创建表了,不用手动创建。
备注:对已有的 models 进行修改,Django 1.7之前的版本的Django都是无法自动更改表结构的,不过有第三方工具 south,详见 Django 数据库迁移 一节。
4. 使用开发服务器
开发服务器,即开发时使用,一般修改代码后会自动重启,方便调试和开发,但是由于性能问题,建议只用来测试,不要用在生产环境。
python manage.py runserver # 当提示端口被占用的时候,可以用其它端口:python manage.py runserver 8001python 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.jsonpython 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框架教程