linux搭建django项目基本步骤
一 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项目搭建完成,前台发送请求能够成功被后台接受又返回响应
linux搭建django项目基本步骤的更多相关文章
- 搭建Django项目
命令行搭建Django项目 1.安装django 在指定解释器环境下安装django 1.11.9 在真实python3环境下: pip3 install django==1.11.9 在虚拟环境下: ...
- 搭建django项目连接mysql数据库环境
开通博客园这么久,即将写下第一篇博客,十分兴奋.首先了,庆祝自己写下了码农生涯博客园第一篇博客,其次了,庆祝自己经过了10个小时奋战,终于成功搭建django项目连接mysql数据库的环境.在此过程中 ...
- Linux - 搭建Web项目(Django + nginx + uwsgi)
工作中碰到需要使用Django + nginx + uwsgi 搭建项目环境 1. 搭建基本环境 需要有python环境,不多做说明 需要安装nginx,不多做说明 需要安装uwsgi: yum in ...
- linux ---部署django项目篇
uWSGI + nginx+ django + virtualenv + supervisor发布web服务器 项目部署步骤 1.项目准备阶段 1.准备项目代码,从本地拷贝 2.将项目上传到linux ...
- VSCode搭建django项目
之前我们使用VSCode搭建C#项目,今天写一篇关于django项目的搭建,其实以其说是搭建django框架,不如说是如何通过vscode开发django项目:django官网:https://www ...
- linux部署django项目流程(全)
1.python3和python2共存配置 流程在下面网址中 https://www.cnblogs.com/vinic-xxm/p/11358894.html 2.安装依赖包 yum install ...
- python3搭建Django项目
1.本次安装的python3.7版本,可前往官网下载,这里的安装不作多余介绍 2.安装虚拟环境 第一种:virtualenv:用于创建虚拟环境,实现项目之间的环境隔离,解决项目中存在的版本冲突问题 w ...
- 如何在windows和linux搭建django环境
注:本文以python3为例,python2.x是一样的不再赘述 提前准备: python/python3已经安装好,如果没有请参考以下资料进行安装 linux安装python3 win安装pytho ...
- 虚拟环境搭建Django项目
下载虚拟环境包 pip install virtualenv 创建虚拟环境 virtualenv env 进入env文件夹 cd env 进入Scripts文件夹 cd Scripts 启动虚拟环 ...
随机推荐
- 学习 CosmosDB (NoSql)
Microsoft Azure官网 学习cosmos DB,也称作 documentDB,NoSql,不是关系型数据库,数据以Json的格式存储,灵活性强. 1.DLL 2.Connector set ...
- 微软Skype Linux客户端全新发布
前两天,微软说要给“Linux 用户带来一个令人兴奋的新闻”,今天,这个新闻来了.它刚刚为 Linux 发布了一个新的 Skype 客户端. 此次发布,微软为 Linux 带来的 Skype 客户端与 ...
- Java测试(一)
关于while和do-while循环,下列说法正确的是 A 两种循环除了格式不同外,功能完全相同 B 与do-while语句不通的是,while语句的循环至少执行一次 C do-while语句首 ...
- 前端的UI设计与交互之导航篇
在广义上,任何告知用户他在哪里,他能去什么地方以及如何到达那里的方式,都可以称之为导航.当设计者使用导航或者自定义一些导航结构时,请注意:尽可能提供标识.上下文线索,避免用户迷路:保持导航样式和行为一 ...
- Java注解学习笔记
我们平常写Java代码,对其中的注解并不是很陌生,比如说写继承关系的时候经常用到@Override来修饰方法.但是@Override是用来做什么的,为什么写继承方法的时候要加上它,不加行不行.如果对J ...
- poj-1008-玛雅历
Description 上周末,M.A. Ya教授对古老的玛雅有了一个重大发现.从一个古老的节绳(玛雅人用于记事的工具)中,教授发现玛雅人使用了一个一年有365天的叫做Haab的历法.这个Haab历法 ...
- [poj3252]Round Numbers_数位dp
Round Numbers poj3252 题目大意:求一段区间内Round Numbers的个数. 注释:如果一个数的二进制表示中0的个数不少于1的个数,我们就说这个数是Round Number.给 ...
- Java学习日记——基本数据类型
基本数据类型: byte 1个字节 正负都能表示2的8-1次方 -128~127(包括0) short 2个字节 2的16-1次 整数类型 (默认为int类型) int 4个字节 2的32-1次方 l ...
- UGUI中显示粒子特效
今天在UGUI上显示粒子特效的时候遇到的一些问题,Mark一下.原理:修改特效中每一个ParticleSystem的Layer为UI,并且把ParticleSystemRenderer.sorting ...
- python全栈学习--day5
字典 特点:字典是python中唯一的映射类型,采用键值对(key-value) 的形式存数据. 存储大量的数据,是关系型数据,查询数据快. 字典初始说明: 遍历字典从列表开始,列表是从头便利到尾的. ...