搭建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 daemon守护进程实现
Aug 27 Python
Python实战小程序利用matplotlib模块画图代码分享
Dec 09 Python
学习Python selenium自动化网页抓取器
Jan 20 Python
Python Json序列化与反序列化的示例
Jan 31 Python
python数据结构学习之实现线性表的顺序
Sep 28 Python
对python:print打印时加u的含义详解
Dec 15 Python
Python微信操控itchat的方法
May 31 Python
python实现批量nii文件转换为png图像
Jul 18 Python
Python使用docx模块实现刷题功能代码
Feb 13 Python
python中get和post有什么区别
Jun 19 Python
通过Django Admin+HttpRunner1.5.6实现简易接口测试平台
Nov 11 Python
详解解决jupyter不能使用pytorch的问题
Feb 18 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执行速度全攻略
2006/10/09 PHP
Win2003服务器安全加固设置--进一步提高服务器安全性
2007/05/23 PHP
thinkphp中多表查询中防止数据重复的sql语句(必看)
2016/09/22 PHP
php解决DOM乱码的方法示例代码
2016/11/20 PHP
PHP微信分享开发详解
2017/01/14 PHP
JavaScript中使用构造函数实现继承的代码
2010/08/12 Javascript
根据身份证号自动输出相关信息(籍贯,出身日期,性别)
2013/11/15 Javascript
基于Javascript实现弹出页面效果
2016/01/01 Javascript
vue如何引用其他组件(css和js)
2017/04/13 Javascript
基于JavaScript实现的插入排序算法分析
2017/04/14 Javascript
ES6正则表达式扩展笔记
2017/07/25 Javascript
JavaScript中重名的函数与对象示例详析
2017/09/28 Javascript
vue.js element-ui tree树形控件改iview的方法
2018/03/29 Javascript
JavaScript树的深度优先遍历和广度优先遍历算法示例
2018/07/30 Javascript
关于Vue源码vm.$watch()内部原理详解
2019/04/26 Javascript
微信小程序使用Vant Weapp组件库的方法步骤
2019/08/01 Javascript
JS校验与最终登陆界面功能完整示例
2020/01/13 Javascript
node.js实现http服务器与浏览器之间的内容缓存操作示例
2020/02/11 Javascript
python 不关闭控制台的实现方法
2011/10/23 Python
在Python中使用NLTK库实现对词干的提取的教程
2015/04/08 Python
Python通过select实现异步IO的方法
2015/06/04 Python
flask中过滤器的使用详解
2018/08/01 Python
用Python将Excel数据导入到SQL Server的例子
2019/08/24 Python
如何基于pandas读取csv后合并两个股票
2020/09/25 Python
html5 的a标签 Href 拨电话的写法
2013/11/04 HTML / CSS
德国运动鞋网上商店:Afew Store
2018/01/05 全球购物
Melissa鞋英国官方网站:Nonnon
2019/05/01 全球购物
高一政治教学反思
2014/01/28 职场文书
共产党员批评与自我批评
2014/10/15 职场文书
餐厅服务员岗位职责
2015/02/09 职场文书
2015年惩防体系建设工作总结
2015/05/22 职场文书
保护动物的宣传语
2015/07/13 职场文书
幼儿园教师培训心得体会
2016/01/21 职场文书
vscode中使用npm安装babel的方法
2021/08/02 Javascript
Python Numpy库的超详细教程
2022/04/06 Python
mysql性能优化以及配置连接参数设置
2022/05/06 MySQL