Django框架
1、Django简介
搭建Django环境
Django安装
官方文档
这里使用pip安装
sudo pip3 install Django==2.0.6
测试安装是否成功
>>> import django
>>> print(django.get_version())
2.0.6
创建Diango项目
ps:所有代码都在Code文件夹里编写
创建第一个Django项目:
$ cd /home/shiyanlou/Code
$ Code/ $ django-admin startproject mysite
以下是mysite目录结构
mysite/
manage.py
mysite/
_init_.py
settings.py
urls.py
wsgi.py
这些目录和文件的作用是:
- 外层的mysite/: 是项目的容器,可以为任意的名字。
- manage.py:一种让你可以使用各种方式管理Django项目的命令行工具。在**mysite/**目录下输入
Python3 manage.py help
,查看它都能做什么。 - 内层的mysite/:包含项目,是一个纯Python包。可以在包里调用它内部的任何东西。
- _init _.py:是一个空文件,告诉Python这个目录应该被认为是一个Python包。一般,不需要去修改它。
- settings.py: Django项目的配置文件。
- urls.py:Django项目的URL声明
- **wsgi.py:**作为项目的运行在WSGI兼容的Web服务器的入口。
启动Django
cd /Code/mysite
python manage.py runserver
应该会看到这样的输出:
在浏览器里输入http://
图View127.0.0.1:8000会出现网站界面
2、视图View
涉及的知识点
- URLconf配置
- Django 视图
最终目的是完成一个对数据库进行增删改查的独立模块,所以我们从创建一个独立的应用开始。
Django中,每一个应用都是一个Python包,并且遵守着相同的约定。
Django自带一个工具,可以帮你生成应用的基本目录,极大地提高了开发效率
cd /Code/mysite
python manage.py startapp lib
这将会创建一个名为lib的目录,以下是它的目录结构
lib/
_init.py_
admin.py
apps.py
migrations/
_init_.py
models.py
tests.py
views.py
开始编写视图
打开lib/view.py
,输入以下代码:
# lib/views.py
from django.shortcuts import render
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world!")
可以看出来,我们想要的即使在页面中输出hello,world!.
但仅编写视图函数,并不能在Django页面上显示出啦。如果要看到效果,需要使用URL来映射它。
在mysite/lib
目录里新建urls,py
文件,并输入以下代码:
# lib/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
这样就将应用lib里视图函数与URL映射到了一起。
我们来详解以下path()函数,它共有4个参数:
在上面的代码中,route
为空意味着我们可以直接用链接http://localhost:8000/lib/
访问该视图函数,view=view.index
是调用了view.py
中的index
视图,name
为index
代表我们可以在模板中用index来引用返回的变量。
接下来,我们需要向mysite/mysite/urls.py
告知使用应用lib的视图。
输入以下代码:
# mysite/mysite/urls.py
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('lib/', include('lib.urls')),
path('admin/', admin.site.urls),
]
实现的原理就是使用了include()
函数,它允许应用其他的URLconfs。
比如使用这个地址进行请求时:http://localhost:8000/lib/
,首先在mysite/mysite/urls.py
中会截断与此项匹配的 URL 部分,也就是lib/
,然后将剩余的字符串发送到 URLconf 以供进一步处理。
运行
到这里,我们就把index视图添加进了URLconf。
让我们来检验下它能否正常工作:
python manage.py runserver
使用浏览器访问http://localhost:8000/lib/
可以可以看到页面输出了hello world!
3、模型Model
配置数据
Django的项目设置都包含在了mysite/mysite/sittings.py
中。对于数据库,配置文件使用了SQLlite
作为默认的数据库文件。对于知识初步尝试Django的来说,这是十分方便,无需再去配置其它东西。
在实际开发中,我们会用到其它更具扩展性的数据库。例如MYSQL
、Oracle
等。
如果选择使用这些数据库,需要安装相应的数据库绑定,然后改变配置文件中的DATABASE default
。
本例子中默认使用SQLite
数据库,要使用其它数据库,可以参考Django的官方文档DATABASE
记得配置设置文件中的