搭建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中的exec、eval使用实例
Sep 23 Python
PHP魔术方法__ISSET、__UNSET使用实例
Nov 25 Python
用Python操作字符串之rindex()方法的使用
May 19 Python
Python队列的定义与使用方法示例
Jun 24 Python
python中学习K-Means和图片压缩
Nov 20 Python
详解python 拆包可迭代数据如tuple, list
Dec 29 Python
利用Python在一个文件的头部插入数据的实例
May 02 Python
数组保存为txt, npy, csv 文件, 数组遍历enumerate的方法
Jul 09 Python
程序员写Python时的5个坏习惯,你有几条?
Nov 26 Python
Python实现图片转字符画的代码实例
Feb 22 Python
Django REST framework 视图和路由详解
Jul 19 Python
Pandas自定义选项option设置
Jul 25 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实现Ftp用户的在线管理的代码
2007/03/06 PHP
PHP 调试工具Debug Tools
2011/04/30 PHP
php获取excel文件数据
2017/04/21 PHP
php strftime函数的详细用法
2018/06/21 PHP
windows系统php环境安装swoole具体步骤
2021/03/04 PHP
jquery select(列表)的操作(取值/赋值)
2011/03/16 Javascript
js中关于String对象的replace使用详解
2011/05/24 Javascript
js加入收藏以及使用Jquery更改透明度
2014/01/26 Javascript
JavaScript Window浏览器对象模型方法与属性汇总
2015/04/20 Javascript
jQuery根据元素值删除数组元素的方法
2015/06/24 Javascript
JS正则表达式比较常见用法
2016/01/26 Javascript
JS实现的在线调色板实例(附demo源码下载)
2016/03/01 Javascript
jquery点击改变class并toggle的实现代码
2016/05/15 Javascript
使用Angular-CLI构建NPM包的方法
2018/09/07 Javascript
详解vue-router导航守卫
2019/01/19 Javascript
从0到1构建vueSSR项目之node以及vue-cli3的配置
2019/03/07 Javascript
Angular8 实现table表格表头固定效果
2020/01/03 Javascript
详解关于Vue单元测试的几个坑
2020/04/26 Javascript
Python写的一个简单DNS服务器实例
2014/06/04 Python
python 爬虫一键爬取 淘宝天猫宝贝页面主图颜色图和详情图的教程
2018/05/22 Python
Python实现ping指定IP的示例
2018/06/04 Python
Django中的文件的上传的几种方式
2018/07/23 Python
jupyter使用自动补全和切换默认浏览器的方法
2020/11/18 Python
python try...finally...的实现方法
2020/11/25 Python
python3实现简单飞机大战
2020/11/29 Python
python 检测nginx服务邮件报警的脚本
2020/12/31 Python
Bergfreunde丹麦:登山装备网上零售商
2017/02/26 全球购物
生物化工工艺专业应届生求职信
2013/10/08 职场文书
运动会100米解说词
2014/01/23 职场文书
小班上学期个人总结
2015/02/12 职场文书
2016年春节慰问信息
2015/03/25 职场文书
2015小学语文教师个人工作总结
2015/05/20 职场文书
golang slice元素去重操作
2021/04/30 Golang
浅谈Python numpy创建空数组的问题
2021/05/25 Python
动画电影《龙珠超 超级英雄》延期上映
2022/03/20 日漫
JS中forEach()、map()、every()、some()和filter()的用法
2022/05/11 Javascript