一 linux下django基本项目搭建流程:
M model 用于与数据库交互
V view 接受前台请求 调用model获取结果,调用T获取页面,返回给前台
T template 接受view的要求 生成一个网页给V
1 创建项目命令:
django-admin startproject 项目名
2 为项目创建一个应用(django中一个应用就是一个功能模块):
在项目目录下 该目录下有一个manage.py文件
python manage.py startapp 应用名
3 安装应用,将应用与项目建立关联
在项目目录下settings.py中的INSTALLED_APPS列表里添加应用目录名称(应用名称)
4 开启服务器:
django提供了一个python编写的轻量服务器,终端调整到项目所在目录:
python manage.py runserver
此后 根据提示,可以访问127.0.0.1:8000 来访问我们自己的服务器
二 配置后台收到前台请求
1 前台发送请求的入口:
后台接受到url会先到项目目录下urls.py文件中进行正则匹配,寻找这个资源想要定位哪个应用
比如 前台传来http://127.0.0.1:8000/main/index.html
会去调前面部分,剩下main/index.html/ 到项目目录下的urls.py中进行正则匹配
将匹配到的部分删除后剩下的部分寻找匹配项指定的应用urls目录去
在项目目录下的urls.py中urlpatterns里添加一项:
url(r‘正则表达式‘,include("应用目录名.urls"))
意思是,这个正则表达式匹配成功会去掉匹配部分 去寻找应用中的urls.py继续寻找
例如 添加url(r‘^main/$‘,include(‘app.urls‘))
http://127.0.0.1:8000/main/index.html发过来会剩下main/index.html匹配
里面有很多项url 匹配到这个成功了,会剩下去掉匹配部分 剩下index.html/去app这个应用的urls.py下寻找匹配
2 应用中接到请求目录
被1过程中项目匹配后,会将剩下的部分发送到指定的应用urls.py文件中继续匹配
这时候 index.html/会进入app这个应用的urls.py中。
我们需要在应用的urls.py里添加一项url("正则","包.函数")
比如 url(r"^index.html/$",views.index)
意思是: 成功匹配的请求会去views.py中找到index函数,
这个index函数下一步再编写,
3 应用中受到请求返回响应
main/index.html/在项目中urls.py中匹配到某个应用,
进入应用的urls.py中匹配到了某个函数view.index
我们需要在应用目录下的view.py中编写index函数,来接受这个request,并返回response
函数必须接收的参数request
注意返回的是 HttpResponse(页面的字符串)
比如 def index(request):
return HttpResponse("哈哈哈")
这里就是views里面,这个MVT的view。
前台发送请求经过一番匹配之后,到这里,接收了请求。
在这里根据请求,
可能去数据库查一些数据:就是调用models.py里面的方法与数据库交互
调用T里面的方法:template需要我们自己创建并注册,
里面主要提供一些html页面,
我们把调用models的结果放入html中拼接
最后把返回的页面包装好return
4 在浏览器输入http://127.0.0.1:8000/main/index.html
就会被后台接受 根据最后views下面调用的函数的返回值,得到不同的页面
按照我的例子会得到哈哈哈
到此,一个django项目搭建完成,前台发送请求能够成功被后台接受又返回响应