搭建Python的Django框架环境并建立和运行第一个App的教程


Posted in Python onJuly 02, 2016

Django是python中目前风靡的Web Framework, 那么什么叫做Framework呢, 框架能够帮助你把程序的整体架构搭建好, 而我们所需要做的工作就是填写逻辑, 而框架能够在合适的时候调用你写的逻辑, 而不需要我们自己去调用逻辑, 让Web开发变的更敏捷.

Django是一个高级Python Web框架, 鼓励快速,简洁, 以程序设计的思想进行开发. 通过使用这个框架, 可以减少很多开发麻烦, 使你更专注于编写自己的app, 而不需要重复造轮子. Django免费并且开源.
Django特点:

  • 完全免费并开源源代码
  • 快速高效开发
  • 使用MTV架构(熟悉Web开发的应该会说是MVC架构)
  • 强大的可扩展性.
  • Django工作方式

Django安装
安装最新版的Django版本

#安装最新版本的Django
$ pip install django 
#或者指定安装版本
pip install -v django==1.7.1

项目创建
现在正式开始吧, 我们创建一个名为my_blog的Django项目。
创建项目的指令如下:

$ django-admin.py startproject my_blog

现在来看一下整个项目的文件结构:

$ tree my_blog  #打印树形文件结构
my_blog
├── manage.py
└── my_blog
  ├── __init__.py
  ├── settings.py
  ├── urls.py
  └── wsgi.py


1 directory, 5 files

建立Django app
在Django中的app我认为就是一个功能模块, 与其他的web框架可能有很大的区别, 将不能功能放在不同的app中, 方便代码的复用。
建立一个article app:

$ python manage.py startapp article

现在让我们重新看一下整个项目的结构

── article
│  ├── __init__.py
│  ├── admin.py
│  ├── migrations
│  │  └── __init__.py
│  ├── models.py
│  ├── tests.py
│  └── views.py
├── db.sqlite3
├── manage.py
├── my_blog
  ├── __init__.py
  ├── __pycache__
  │  ├── __init__.cpython-34.pyc
  │  ├── settings.cpython-34.pyc
  │  ├── urls.cpython-34.pyc
  │  └── wsgi.cpython-34.pyc
  ├── settings.py
  ├── urls.py
  └── wsgi.py

并在my_blog/my_blog/setting.py下添加新建app

INSTALLED_APPS = (
  ...
  'article', #这里填写的是app的名称
)

运行程序

$ python manage.py runserver  #启动Django中的开发服务器
#如果运行上面命令出现以下提示
You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.
#请先使用下面命令
python manage.py migrate
#输出如下信息
Operations to perform:
 Apply all migrations: contenttypes, sessions, admin, auth
Running migrations:
 Applying contenttypes.0001_initial... OK
 Applying auth.0001_initial... OK
 Applying admin.0001_initial... OK
 Applying sessions.0001_initial... OK

运行成功后,会显示如下信息

#重新运行启动Django中的开发服务器
$ python manage.py runserver
#运行成功显示如下信息
System check identified no issues (0 silenced).
December 21, 2014 - 08:56:00
Django version 1.7.1, using settings 'my_blog.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

现在可以启动浏览器, 输入http://127.0.0.1:8000/, 当出现

搭建Python的Django框架环境并建立和运行第一个App的教程

说明你成功走出了第一步!
命令梳理:

python manage.py <command> [options] #Django Command python manange.py -h帮助文档
django-admin.py startproject my_blog #创建项目
python manage.py startapp article #创建app

Python 相关文章推荐
简单介绍Python中的try和finally和with方法
May 05 Python
深入理解python中的select模块
Apr 23 Python
Python3数据库操作包pymysql的操作方法
Jul 16 Python
python批量下载网站马拉松照片的完整步骤
Dec 05 Python
python 求1-100之间的奇数或者偶数之和的实例
Jun 11 Python
pyqt5对用qt designer设计的窗体实现弹出子窗口的示例
Jun 19 Python
使用python 写一个静态服务(实战)
Jun 28 Python
解决Django一个表单对应多个按钮的问题
Jul 18 Python
python飞机大战pygame碰撞检测实现方法分析
Dec 17 Python
Python 解析pymysql模块操作数据库的方法
Feb 18 Python
Python3通过chmod修改目录或文件权限的方法示例
Jun 08 Python
python实现录音功能(可随时停止录音)
Oct 26 Python
Python使用poplib模块和smtplib模块收发电子邮件的教程
Jul 02 #Python
python图片验证码生成代码
Jul 02 #Python
Python彩色化Linux的命令行终端界面的代码实例分享
Jul 02 #Python
Python使用迭代器打印螺旋矩阵的思路及代码示例
Jul 02 #Python
Python使用ntplib库同步校准当地时间的方法
Jul 02 #Python
Python编程中对super函数的正确理解和用法解析
Jul 02 #Python
Python中的复制操作及copy模块中的浅拷贝与深拷贝方法
Jul 02 #Python
You might like
PHP获取当前页面完整URL的实现代码
2013/06/10 PHP
PHP中定义数组常量(array常量)的方法
2014/11/17 PHP
WordPress自定义时间显示格式
2015/03/27 PHP
php封装单文件上传到数据库(路径)
2017/10/15 PHP
javascript多种数据类型表格排序代码分析
2010/09/11 Javascript
推荐40个非常优秀的jQuery插件和教程【系列三】
2011/11/09 Javascript
浮动的div自适应居中显示的js代码
2013/12/23 Javascript
javasciprt下jquery函数$.post执行无响应的解决方法
2014/03/13 Javascript
简单的js图片轮换代码(js图片轮播)
2014/05/06 Javascript
JS模拟bootstrap下拉菜单效果实例
2016/06/17 Javascript
Bootstrap3制作搜索框样式的方法
2016/07/11 Javascript
原生js实现放大镜效果
2017/01/11 Javascript
vue-cli的eslint相关用法
2017/09/29 Javascript
如何重置vue打印变量的显示方式
2017/12/06 Javascript
用jquery获取select标签中选中的option值及文本的示例
2018/01/25 jQuery
关于Vue Router中路由守卫的应用及在全局导航守卫中检查元字段的方法
2018/12/09 Javascript
实例介绍JavaScript中多种组合继承
2019/01/20 Javascript
使用 vue 实现灭霸打响指英雄消失的效果附demo
2019/05/06 Javascript
[38:40]2018DOTA2亚洲邀请赛 4.6淘汰赛 mineski vs LGD 第一场
2018/04/10 DOTA
[04:59]2018DOTA2亚洲邀请赛 4.7 Mineski夺冠时刻
2018/04/09 DOTA
pycharm中使用anaconda部署python环境的方法步骤
2018/12/19 Python
django-filter和普通查询的例子
2019/08/12 Python
Python 面向对象之类class和对象基本用法示例
2020/02/02 Python
python使用docx模块读写docx文件的方法与docx模块常用方法详解
2020/02/17 Python
如何基于python3和Vue实现AES数据加密
2020/03/27 Python
goodhealth官方海外旗舰店:新西兰国民营养师
2017/12/15 全球购物
中学门卫岗位职责
2013/12/26 职场文书
市场营销毕业求职信
2014/08/07 职场文书
年检委托书
2014/08/30 职场文书
专题组织生活会发言材料
2014/10/17 职场文书
运动会表扬稿
2015/01/16 职场文书
2015年安全生产目标责任书
2015/01/29 职场文书
公司内部升职自荐信
2015/03/27 职场文书
小学英语教学反思范文
2016/02/15 职场文书
《鲁班学艺》读后感3篇
2019/11/27 职场文书
Mongodb 迁移数据块的流程介绍分析
2022/04/18 MongoDB