搭建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 del()函数用法
Mar 24 Python
python快速查找算法应用实例
Sep 26 Python
基于并发服务器几种实现方法(总结)
Dec 29 Python
python flask解析json数据不完整的解决方法
May 26 Python
python3+PyQt5 数据库编程--增删改实例
Jun 17 Python
PyTorch的深度学习入门之PyTorch安装和配置
Jun 27 Python
Flask框架学习笔记之消息提示与异常处理操作详解
Aug 15 Python
Python urlopen()和urlretrieve()用法解析
Jan 07 Python
基于Django signals 信号作用及用法详解
Mar 28 Python
Django实现图片上传功能步骤解析
Apr 22 Python
解决keras加入lambda层时shape的问题
Jun 11 Python
python中@contextmanager实例用法
Feb 07 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中的比较运算符详解
2013/10/28 PHP
PHP入门教程之面向对象的特性分析(继承,多态,接口,抽象类,抽象方法等)
2016/09/11 PHP
thinkPHP利用ajax异步上传图片并显示、删除的示例
2018/09/26 PHP
PHP数据对象映射模式实例分析
2019/03/29 PHP
Laravel 中创建 Zip 压缩文件并提供下载的实现方法
2019/04/02 PHP
Laravel框架表单验证操作实例分析
2019/09/30 PHP
thinkphp5使html5实现动态跳转的例子
2019/10/16 PHP
从js向Action传中文参数出现乱码问题的解决方法
2013/12/29 Javascript
JavaScript通过setTimeout实时显示当前时间的方法
2015/04/16 Javascript
js实现文字截断功能
2016/09/14 Javascript
vuejs开发组件分享之H5图片上传、压缩及拍照旋转的问题处理
2017/03/06 Javascript
BootStrap TreeView使用实例详解
2017/11/01 Javascript
使用微信小程序开发弹出框应用实例详解
2018/10/18 Javascript
一文了解vue-router之hash模式和history模式
2019/05/31 Javascript
ES6学习笔记之字符串、数组、对象、函数新增知识点实例分析
2020/01/22 Javascript
vue+springboot图片上传和显示的示例代码
2020/02/14 Javascript
[00:12]2018DOTA2亚洲邀请赛 Somnus丶M出阵单挑
2018/04/06 DOTA
python requests 测试代理ip是否生效
2018/07/25 Python
解决Python下imread,imwrite不支持中文的问题
2018/12/05 Python
python aiohttp的使用详解
2019/06/20 Python
解决django后台管理界面添加中文内容乱码问题
2019/11/15 Python
python的json中方法及jsonpath模块用法分析
2019/12/06 Python
python GUI库图形界面开发之PyQt5拖放控件实例详解
2020/02/25 Python
python之随机数函数的实现示例
2020/12/30 Python
英国游戏机和游戏购物网站:365games.co.uk
2018/06/18 全球购物
手工制作的音乐盒:Music Box Attic
2019/09/05 全球购物
英国最受欢迎的平价女士时装零售商:Roman Originals
2019/11/02 全球购物
财务会计人员求职的自我评价
2014/01/13 职场文书
新娘父亲婚礼致辞
2014/01/16 职场文书
原材料检验岗位职责
2014/03/15 职场文书
安全生产标语大全
2014/10/06 职场文书
2014年卫生工作总结
2014/11/27 职场文书
大学生暑假实习总结
2015/07/13 职场文书
2016形势与政策学习心得体会
2016/01/12 职场文书
HTML+CSS制作心跳特效的实现
2021/05/26 HTML / CSS
mysql中int(3)和int(10)的数值范围是否相同
2021/10/16 MySQL