搭建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 相关文章推荐
高性能web服务器框架Tornado简单实现restful接口及开发实例
Jul 16 Python
Python中使用装饰器时需要注意的一些问题
May 11 Python
基于Python的XSS测试工具XSStrike使用方法
Jul 29 Python
Python3数据库操作包pymysql的操作方法
Jul 16 Python
Python实现爬取马云的微博功能示例
Feb 16 Python
Python (Win)readline和tab补全的安装方法
Aug 27 Python
jenkins配置python脚本定时任务过程图解
Oct 29 Python
python验证码图片处理(二值化)
Nov 01 Python
用Python画小女孩放风筝的示例
Nov 23 Python
浅谈Python中的模块
Jun 10 Python
Spring @Enable模块驱动原理及使用实例
Jun 23 Python
python如何调用php文件中的函数详解
Dec 29 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解析目录路径的3个函数总结
2014/11/18 PHP
WordPress中登陆后关闭登陆页面及设置用户不可见栏目
2015/12/31 PHP
ThinkPHP实现登录退出功能
2017/06/29 PHP
PHP设计模式之工厂方法设计模式实例分析
2018/04/25 PHP
PHP扩展Swoole实现实时异步任务队列示例
2019/04/13 PHP
PHP实现微信提现(企业付款到零钱)
2019/08/01 PHP
JavaScript 创建对象和构造类实现代码
2009/07/30 Javascript
通过判断JavaScript的版本实现执行不同的代码
2010/05/11 Javascript
整理一些JavaScript的IE和火狐的兼容性注意事项
2011/03/17 Javascript
jquery delay()介绍及使用指南
2014/09/02 Javascript
基于javascript实现漂亮的页面过渡动画效果附源码下载
2015/10/26 Javascript
AngularJS中实现动画效果的方法
2016/07/28 Javascript
学习Angular中作用域需要注意的坑
2016/08/17 Javascript
jQuery中实现prop()函数控制多选框(全选,反选)
2016/08/19 Javascript
浅谈es6 javascript的map数据结构
2017/12/14 Javascript
javascript实现简单页面倒计时
2021/03/02 Javascript
[06:59]DOTA2-DPC中国联赛3月7日Recap集锦
2021/03/11 DOTA
Python实现批量检测HTTP服务的状态
2016/10/27 Python
5款非常棒的Python工具
2018/01/05 Python
python 使用正则表达式按照多个空格分割字符的实例
2018/12/20 Python
浅谈python3 构造函数和析构函数
2020/03/12 Python
什么是python的列表推导式
2020/05/26 Python
升级keras解决load_weights()中的未定义skip_mismatch关键字问题
2020/06/12 Python
Python包和模块的分发详细介绍
2020/06/19 Python
Python 爬虫性能相关总结
2020/08/03 Python
opencv+pyQt5实现图片阈值编辑器/寻色块阈值利器
2020/11/13 Python
python opencv实现直线检测并测出倾斜角度(附源码+注释)
2020/12/31 Python
一些常用的HTML5模式(pattern) 总结
2015/07/14 HTML / CSS
机电一体化大学生求职信
2013/11/08 职场文书
考试不及格检讨书
2014/01/09 职场文书
《母亲的恩情》教学反思
2014/02/13 职场文书
文明生主要事迹
2014/05/25 职场文书
甲乙双方合作协议书
2014/10/13 职场文书
期中考试复习计划
2015/01/19 职场文书
工程款申请报告
2015/05/15 职场文书
2016优秀教师先进个人事迹材料
2016/02/25 职场文书