搭建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多线程编程(二):启动线程的两种方法
Apr 05 Python
windows上安装Anaconda和python的教程详解
Mar 28 Python
Python实现将sqlite数据库导出转成Excel(xls)表的方法
Jul 17 Python
Python版名片管理系统
Nov 30 Python
Python实现html转换为pdf报告(生成pdf报告)功能示例
May 04 Python
python3.x+pyqt5实现主窗口状态栏里(嵌入)显示进度条功能
Jul 04 Python
django框架CSRF防护原理与用法分析
Jul 22 Python
使用OpenCV实现仿射变换—平移功能
Aug 29 Python
Python中实现输入超时及如何通过变量获取变量名
Jan 18 Python
解决Tensorflow 内存泄露问题
Feb 05 Python
Python压缩模块zipfile实现原理及用法解析
Aug 14 Python
Django通过设置CORS解决跨域问题
Nov 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过滤危险html代码
2008/08/18 PHP
PHP中查询SQL Server或Sybase时TEXT字段被截断的解决方法
2009/03/10 PHP
php去除换行符的方法小结(PHP_EOL变量的使用)
2013/02/16 PHP
基于PHP实现简单的随机抽奖小程序
2016/01/05 PHP
PHP设计模式之迭代器模式
2016/06/17 PHP
解决laravel 出现ajax请求419(unknown status)的问题
2019/09/03 PHP
PHP实现二维数组(或多维数组)转换成一维数组的常见方法总结
2019/12/04 PHP
自适应高度框架 ----属个人收藏内容
2007/01/22 Javascript
jquery图片不完全按比例自动缩小的简单代码
2013/07/29 Javascript
jQuery中closest和parents的区别分析
2015/05/07 Javascript
BootStrap的JS插件之轮播效果案例详解
2016/05/16 Javascript
浅析JavaScript回调函数应用
2016/05/22 Javascript
详解AngularJS中ng-src指令的使用
2016/09/07 Javascript
Nodejs之http的表单提交
2017/07/07 NodeJs
基于JavaScript实现百度搜索框效果
2020/06/28 Javascript
AngularJS集合数据遍历显示的实例
2017/12/27 Javascript
浅谈微信页面入口文件被缓存解决方案
2018/09/29 Javascript
IE浏览器下JS脚本提交表单后,不能自动提示问题解决方法
2019/06/04 Javascript
mpvue微信小程序的接口请求fly全局拦截代码实例
2019/11/13 Javascript
vue实现在线预览pdf文件和下载(pdf.js)
2019/11/26 Javascript
python简单实现基于SSL的IRC bot实例
2015/06/15 Python
Python搭建APNS苹果推送通知推送服务的相关模块使用指南
2016/06/02 Python
Python 私有函数的实例详解
2017/09/11 Python
特征脸(Eigenface)理论基础之PCA主成分分析法
2018/03/13 Python
python判断一个集合是否为另一个集合的子集方法
2018/05/04 Python
在Pycharm中设置默认自动换行的方法
2019/01/16 Python
浅谈Python中的可迭代对象、迭代器、For循环工作机制、生成器
2019/03/11 Python
Python3+PyInstall+Sciter解决报错缺少dll、html等文件问题
2019/07/15 Python
Python绘制三角函数图(sin\cos\tan)并标注特定范围的例子
2019/12/04 Python
Python实现列表索引批量删除的5种方法
2020/11/16 Python
HTML5 解析规则分析
2009/08/14 HTML / CSS
求职推荐信
2013/10/28 职场文书
《湘夫人》教学反思
2014/02/21 职场文书
幼儿园新年寄语
2014/04/03 职场文书
党委书记群众路线对照检查材料思想汇报
2014/10/04 职场文书
2015年乡镇环保工作总结
2015/04/22 职场文书