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 启动虚拟环 ...
随机推荐
- 如何实现vue前端跨域,proxyTable解决开发环境前端跨域问题
在开发环境与后端调试的时候难免会遇到跨域问题,很多人说跨域交给后端解决就好了. 其实不然,前端也有很多方法可以解决跨域,方便也快捷. 常见的有nginx转发.node代理. 在vue项目中常用的是pr ...
- linux PMBus总线及设备驱动分析
PMBus协议规范介绍 PMBus是一套对电源进行配置.控制和监控的通讯协议标准.其最新版本为1.3,该规范还在不断演进中,比如新标准中新增的zone PMBus.AVSBus等特性.在其官网上有详细 ...
- 大数运算的算法设计和C++实现
1.背景 工作中遇到过需要进行极大数据的存储和运算的场景,当时使用Python解决了这个问题,在Python中,整数没有位数限制,使用起来很方便.但是当程序主体使用C/C++实现时,就比较麻烦.所以考 ...
- Java8 中 ConcurrentHashMap工作原理的要点分析
简介: 本文主要介绍Java8中的并发容器ConcurrentHashMap的工作原理,和其它文章不同的是,本文重点分析了不同线程的各类并发操作如get,put,remove之间是如何同步的,以及这些 ...
- MYSQL数据库学习六 索引的操作
6.1 索引 由于数据存储在数据库表中,所以索引是创建在数据库表对象上的,由表中的一个或多个字段生成的键组成,这些键存储在数据结构(B-树或哈希表)中,通过索引可以快速有效地查找与键值相关联的字段.根 ...
- Algorithm --> 两个栈实现队列和两个队列实现栈
两个栈实现队列和两个队列实现栈 队列(queue)先进先出的线性表:栈(stack)先进后出的线性表. 两个栈实现队列 法一思路: s1是入栈的,s2是出栈的. 入队列:直接压入s1即可: 出队列:如 ...
- MSIL实用指南-装箱拆箱
本篇讲述怎样装箱拆箱.装箱和拆箱都是针对值类型而言的,装箱的性能开销远比拆箱的性能开销大. 装箱装箱指令是Box.使用格式是 ILGenerator.Emit(OpCodes.Box,<值类型& ...
- http的CA证书安装(也就是https)
近几年随着安全意识的提高,https流行起来,很多小伙伴不太了解https是什么,其实http和https并没有区别,简单的来说,https就是将http通信进行了加密和解密的一个过程.加上谷歌浏览器 ...
- WCF配置问题(配置WCF跨域)
其它的先放一边.今天先来分享一下前段时间给公司做网站WCF服务接口的心得. 配置文件的配置问题 这里既然讨论WCF配置文件的问题,那么怎么创建的就不一一讲解了.好多博主都有提过的.所以直接分享自己开发 ...
- [BZOJ 3813]奇数国
3813: 奇数国 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 736 Solved: 416[Submit][Status][Discuss] ...