Django是python中目前风靡的Web Framework, 那么什么叫做Framework呢, 框架能够帮助你把程序的整体架构搭建好, 而我们所需要做的工作就是填写逻辑, 而框架能够在合适的时候调用你写的逻辑, 而不需要我们自己去调用逻辑, 让Web开发变的更敏捷.
Django是一个高级Python Web框架, 鼓励快速,简洁, 以程序设计的思想进行开发. 通过使用这个框架, 可以减少很多开发麻烦, 使你更专注于编写自己的app, 而不需要重复造轮子. Django免费并且开源.
Django特点:
- 完全免费并开源源代码
- 快速高效开发
- 使用MTV架构(熟悉Web开发的应该会说是MVC架构)
- 强大的可扩展性.
- Django工作方式
Django安装
安装最新版的Django版本
1
2
3
4
|
#安装最新版本的Django $ pip install django #或者指定安装版本 pip install - v django = = 1.7 . 1 |
项目创建
现在正式开始吧, 我们创建一个名为my_blog的Django项目。
创建项目的指令如下:
1
|
$ django-admin.py startproject my_blog |
现在来看一下整个项目的文件结构:
1
|
$ tree my_blog #打印树形文件结构 |
1
2
3
4
5
6
7
8
9
10
|
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:
1
|
$ python manage.py startapp article |
现在让我们重新看一下整个项目的结构
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
── 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
1
2
3
4
|
INSTALLED_APPS = ( ... 'article' , #这里填写的是app的名称 ) |
运行程序
1
|
$ python manage.py runserver #启动Django中的开发服务器 |
1
2
3
4
5
6
7
8
9
10
11
12
13
|
#如果运行上面命令出现以下提示 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 |
运行成功后,会显示如下信息
1
2
|
#重新运行启动Django中的开发服务器 $ python manage.py runserver |
1
2
3
4
5
6
|
#运行成功显示如下信息 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/, 当出现
说明你成功走出了第一步!
命令梳理:
1
2
3
|
python manage.py < command > [options] #Django Command python manange.py -h帮助文档 django-admin.py startproject my_blog #创建项目 python manage.py startapp article #创建app |