一、安装
pip install django
二、基本使用
MVC&MTV
MVC百度百科:全名Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
通俗解释:一种文件的组织和管理形式!不要被缩写吓到了,这其实就是把不同类型的文件放到不同的目录下的一种方法,然后取了个高大上的名字。当然,它带来的好处有很多,比如前后端分离,松耦合等
模型(model):定义数据库相关的内容,一般放在models.py文件中。
视图(view):定义HTML等静态网页文件相关,也就是那些html、css、js等前端的东西。
控制器(controller):定义业务逻辑相关,就是你的主要代码。
MTV: 有些WEB框架觉得MVC的字面意思很别扭,就给它改了一下。view不再是HTML相关,而是主业务逻辑了,相当于控制器。html被放在Templates中,称作模板,于是MVC就变成了MTV。这其实就是一个文字游戏,和MVC本质上是一样的,换了个名字和叫法而已,换汤不换药。
创建项目
django-admin startproject mysite
查看是否安装成功,切换到第一层mysite文件夹 python manage.py runserver
浏览器打开127.0.0.1
创建app
在每个django项目中可以包含多个APP,相当于一个大型项目中的分系统、子模块、功能部件等等,相互之间比较独立,但也有联系。
所有的APP共享项目资源。
python manage.py startapp myweb
编写路由
路由都在urls文件里,它将浏览器输入的url映射到相应的业务处理逻辑。
打开mysite里的urls.py编辑
from django.contrib import admin
from django.urls import path
from myweb import views
urlpatterns = [
#path('admin/', admin.site.urls),
path('index/',views.index),
]
编写业务处理逻辑
打开myweb里的views.py编辑
from django.shortcuts import render
from django.shortcuts import HttpResponse
# Create your views here.
def index(request):
return HttpResponse('hello.liu')
运行web服务
在命令行切换到第一层mysite文件夹:
python manage.py runserver
打开浏览器127.0.0.1:8000/index
三、正经的使用
网页返回一个字符串太尬,让我们返回HTML吧。
1、返回HTML文件
在mysite myweb这两个同级的目录建文件夹templates用于存放HTML文件。
创建index.html
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset="UTF-8">
<title>test</title>
</head>
<body>
<h1 style="background-color: blue;color: black">hello,liu</h1>
</body>
</html>
再修改myweb下的views.py 文件
from django.shortcuts import render
def index(request):
return render(request,'index.html')
为了让django知道我们的html文件在哪里,需要修改settings文件的相应内容。
重新启动web服务。在浏览器刷新一下,你会看到带有样式的“hello world”。
2.使用静态文件
我们已经可以将html文件返还给用户了,但是还不够,前端三大块,html、css、js还有各种插件,它们齐全才是一个完整的页面。在django中,一般将静态文件放在static目录中。
在templates同级目录创建文件夹static
为了让django找到这个目录,依然需要对settings进行配置
在最后一行添加
STATICFILES_DIRS = (os.path.join(BASE_DIR,'static'),)
将js文件放在static文件夹中。在index.html中引用js文件即可。
网友评论