搭建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 相关文章推荐
python3.3教程之模拟百度登陆代码分享
Jan 16 Python
Python多线程编程(二):启动线程的两种方法
Apr 05 Python
Linux下用Python脚本监控目录变化代码分享
May 21 Python
Python中关键字nonlocal和global的声明与解析
Mar 12 Python
Python Socket实现简单TCP Server/client功能示例
Aug 05 Python
itchat接口使用示例
Oct 23 Python
Python自定义函数定义,参数,调用代码解析
Dec 27 Python
PyQt5根据控件Id获取控件对象的方法
Jun 25 Python
对python中基于tcp协议的通信(数据传输)实例讲解
Jul 22 Python
python使用多线程编写tcp客户端程序
Sep 02 Python
python创建n行m列数组示例
Dec 02 Python
Pytest之测试命名规则的使用
Apr 16 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动态创建Flash动画
2006/10/09 PHP
vBulletin HACK----显示话题大小和打开新窗口于论坛索引页
2006/10/09 PHP
Ha0k 0.3 PHP 网页木马修改版
2009/10/11 PHP
php读取文件内容的三种可行方法示例介绍
2014/02/08 PHP
redis查看连接数及php模拟并发创建redis连接的方法
2016/12/15 PHP
php中上传文件的的解决方案
2018/09/25 PHP
JS宝典学习笔记(下)
2007/01/10 Javascript
动态为事件添加js代码示例
2009/02/15 Javascript
给超链接添加特效鼠标移动展示提示信息且随鼠标移动
2013/10/17 Javascript
javascript在myeclipse中报错的解决方法
2013/10/29 Javascript
js通过location.search来获取页面传来的参数
2014/09/11 Javascript
nodejs教程之入门
2014/11/21 NodeJs
jQuery中removeProp()方法用法实例
2015/01/05 Javascript
javascript每日必学之继承
2016/02/23 Javascript
js贪吃蛇游戏实现思路和源码
2016/04/14 Javascript
第六篇Bootstrap表格样式介绍
2016/06/21 Javascript
js设置和获取自定义属性的方法
2016/10/20 Javascript
js实现截图保存图片功能的代码示例
2017/02/16 Javascript
Vue.js实现多条件筛选、搜索、排序及分页的表格功能
2020/11/24 Javascript
Bootstrap下拉菜单更改为悬停(hover)触发的方法
2017/05/24 Javascript
详细分析单线程JS执行问题
2017/11/22 Javascript
详解Angular Karma测试的持续集成实践
2019/11/15 Javascript
原生JS与CSS实现软件卸载对话框功能
2019/12/05 Javascript
Python创建或生成列表的操作方法
2019/06/19 Python
libreoffice python 操作word及excel文档的方法
2019/07/04 Python
python爬虫之爬取百度音乐的实现方法
2019/08/24 Python
Python运行DLL文件的方法
2020/01/17 Python
Python 没有main函数的原因
2020/07/10 Python
荷兰最大的儿童服装店:The Kids Republic
2019/04/13 全球购物
Pedro官网:新加坡时尚品牌
2019/08/27 全球购物
办加油卡单位介绍信
2014/01/09 职场文书
百日安全活动总结
2014/05/04 职场文书
汽车机电维修工求职信
2014/09/30 职场文书
2015迎新晚会开场白
2015/05/29 职场文书
2019毕业论文致谢词
2019/06/24 职场文书
python ansible自动化运维工具执行流程
2021/06/24 Python