搭建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 调用VC++的动态链接库(DLL)
Sep 06 Python
python 采集中文乱码问题的完美解决方法
Sep 27 Python
python中实现字符串翻转的方法
Jul 11 Python
用Anaconda安装本地python包的方法及路径问题(图文)
Jul 16 Python
django表单的Widgets使用详解
Jul 22 Python
Python 复平面绘图实例
Nov 21 Python
TensorFlow实现checkpoint文件转换为pb文件
Feb 10 Python
opencv python 图片读取与显示图片窗口未响应问题的解决
Apr 24 Python
150行python代码实现贪吃蛇游戏
Apr 24 Python
想学画画?python满足你!
Dec 24 Python
python requests库的使用
Jan 06 Python
Python上下文管理器Content Manager
Jun 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
解决dede生成静态页和动态页转换的一些问题,及火车采集入库生成动态的办法
2007/03/29 PHP
Laravel SQL语句记录方式(推荐)
2016/05/26 PHP
微信支付开发交易通知实例
2016/07/12 PHP
Jquery实现视频播放页面的关灯开灯效果
2013/05/27 Javascript
js 一个关于图片onload加载的事
2013/11/10 Javascript
javascript实现密码强度显示
2015/03/18 Javascript
JS实现的新浪微博大厅文字内容滚动效果代码
2015/11/05 Javascript
JS实现DIV容器赋值的方法
2015/12/14 Javascript
jQuery改变form表单的action,并进行提交的实现代码
2016/05/25 Javascript
修改js confirm alert 提示框文字的简单实例
2016/06/10 Javascript
js实现右键菜单功能
2016/11/28 Javascript
jQuery中ajax错误调试分析
2016/12/01 Javascript
JS去掉字符串前后空格或去掉所有空格的用法
2017/03/25 Javascript
解决easyui日期时间框ie的兼容的问题
2018/03/01 Javascript
基于vue.js实现的分页
2018/03/13 Javascript
Vue脚手架的简单使用实例
2018/07/10 Javascript
json数据传到前台并解析展示成列表的方法
2018/08/06 Javascript
深入浅析Vue 中 ref 的使用
2019/04/29 Javascript
小程序异步问题之多个网络请求依次执行并依次收集请求结果
2019/05/05 Javascript
微信小程序:数据存储、传值、取值详解
2019/05/07 Javascript
微信小程序实现发微博功能的示例代码
2020/06/24 Javascript
vue-cli3中配置alias和打包加hash值操作
2020/09/04 Javascript
python3.5实现socket通讯示例(TCP)
2017/02/07 Python
python 实现目录复制的三种小结
2019/12/04 Python
如何基于Python代码实现高精度免费OCR工具
2020/06/18 Python
利用CSS3的transform做的动态时钟效果
2011/09/21 HTML / CSS
关于webview适配H5上传照片或者视频文件的方法
2020/11/04 HTML / CSS
阿迪达斯奥地利官方商城:adidas.at
2016/10/16 全球购物
澳大利亚最好的在线时尚精品店:Princess Polly
2018/01/03 全球购物
上课看小说检讨书
2014/02/22 职场文书
北体毕业生求职信
2014/02/28 职场文书
离婚协议书怎样才有法律效力
2014/10/10 职场文书
银行给客户的感谢信
2015/01/23 职场文书
退休劳动合同怎么写?
2019/10/25 职场文书
navicat 连接Ubuntu虚拟机的mysql的操作方法
2022/04/02 MySQL
java版 联机五子棋游戏
2022/05/04 Java/Android