搭建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 相关文章推荐
urllib2自定义opener详解
Feb 07 Python
详解Django中的ifequal和ifnotequal标签使用
Jul 16 Python
Python实现简单拆分PDF文件的方法
Jul 30 Python
python爬虫使用cookie登录详解
Dec 27 Python
django admin添加数据自动记录user到表中的实现方法
Jan 05 Python
python3 发送任意文件邮件的实例
Jan 23 Python
Django框架视图介绍与使用详解
Jul 18 Python
python多线程+代理池爬取天天基金网、股票数据过程解析
Aug 13 Python
python实现的自动发送消息功能详解
Aug 15 Python
python定义类self用法实例解析
Jan 22 Python
python数据库编程 ODBC方式实现通讯录
Mar 27 Python
python中常用的数据结构介绍
Jan 12 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获取地址栏信息的代码
2008/10/08 PHP
解析如何屏蔽php中的phpinfo()函数
2013/06/06 PHP
Document对象内容集合(比较全)
2010/09/06 Javascript
avalon js实现仿google plus图片多张拖动排序附源码下载
2015/09/24 Javascript
jQuery实现限制文本框的输入长度
2017/01/11 Javascript
HTML5+jQuery实现搜索智能匹配功能
2017/03/24 jQuery
详解Angular 4 表单快速入门
2017/06/05 Javascript
vue.js数据绑定的方法(单向、双向和一次性绑定)
2017/07/13 Javascript
浅谈React中组件间抽象
2018/01/27 Javascript
使用svg实现动态时钟效果
2018/07/17 Javascript
Vue CLI3搭建的项目中路径相关问题的解决
2018/09/17 Javascript
JS异步执行结果获取的3种解决方式
2019/02/19 Javascript
MockJs结合json-server模拟后台数据
2020/08/26 Javascript
微信小程序订阅消息(java后端实现)开发
2020/06/01 Javascript
js实现星星海特效的示例
2020/09/28 Javascript
python实现文件路径和url相互转换的方法
2015/07/06 Python
使用python进行文本预处理和提取特征的实例
2018/06/05 Python
python多任务及返回值的处理方法
2019/01/22 Python
python粘包问题及socket套接字编程详解
2019/06/29 Python
pyinstaller打包opencv和numpy程序运行错误解决
2019/08/16 Python
介绍一下常见的木马种类
2014/11/15 面试题
什么是servlet
2012/05/08 面试题
大学生的四年学习自我评价
2013/12/13 职场文书
应届毕业生自我评价分享
2013/12/15 职场文书
运动会通讯稿150字
2014/02/15 职场文书
保卫科工作岗位职责
2014/03/01 职场文书
闭幕式主持词
2014/04/02 职场文书
六一儿童节演讲稿
2014/05/23 职场文书
大学国际贸易专业自荐信
2014/06/05 职场文书
综艺节目策划方案
2014/06/13 职场文书
幼儿园健康教育方案
2014/06/14 职场文书
球队口号
2014/06/18 职场文书
2014广电局实施党的群众路线教育实践活动方案思想汇报
2014/09/22 职场文书
培根随笔读书笔记
2015/07/01 职场文书
原生JS中应该禁止出现的写法
2021/05/05 Javascript
python数字图像处理之图像的批量处理
2022/06/28 Python