一 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项目基本步骤的更多相关文章

  1. 搭建Django项目

    命令行搭建Django项目 1.安装django 在指定解释器环境下安装django 1.11.9 在真实python3环境下: pip3 install django==1.11.9 在虚拟环境下: ...

  2. 搭建django项目连接mysql数据库环境

    开通博客园这么久,即将写下第一篇博客,十分兴奋.首先了,庆祝自己写下了码农生涯博客园第一篇博客,其次了,庆祝自己经过了10个小时奋战,终于成功搭建django项目连接mysql数据库的环境.在此过程中 ...

  3. Linux - 搭建Web项目(Django + nginx + uwsgi)

    工作中碰到需要使用Django + nginx + uwsgi 搭建项目环境 1. 搭建基本环境 需要有python环境,不多做说明 需要安装nginx,不多做说明 需要安装uwsgi: yum in ...

  4. linux ---部署django项目篇

    uWSGI + nginx+ django + virtualenv + supervisor发布web服务器 项目部署步骤 1.项目准备阶段 1.准备项目代码,从本地拷贝 2.将项目上传到linux ...

  5. VSCode搭建django项目

    之前我们使用VSCode搭建C#项目,今天写一篇关于django项目的搭建,其实以其说是搭建django框架,不如说是如何通过vscode开发django项目:django官网:https://www ...

  6. linux部署django项目流程(全)

    1.python3和python2共存配置 流程在下面网址中 https://www.cnblogs.com/vinic-xxm/p/11358894.html 2.安装依赖包 yum install ...

  7. python3搭建Django项目

    1.本次安装的python3.7版本,可前往官网下载,这里的安装不作多余介绍 2.安装虚拟环境 第一种:virtualenv:用于创建虚拟环境,实现项目之间的环境隔离,解决项目中存在的版本冲突问题 w ...

  8. 如何在windows和linux搭建django环境

    注:本文以python3为例,python2.x是一样的不再赘述 提前准备: python/python3已经安装好,如果没有请参考以下资料进行安装 linux安装python3 win安装pytho ...

  9. 虚拟环境搭建Django项目

    下载虚拟环境包 pip install virtualenv 创建虚拟环境 virtualenv   env 进入env文件夹 cd env 进入Scripts文件夹 cd Scripts 启动虚拟环 ...

随机推荐

  1. memcached源码剖析——流程图

    参考: http://blog.csdn.net/column/details/memcached-src.html http://calixwu.com/2014/11/memcached-yuan ...

  2. 云主机和vps的区别

    云主机和vps的区别   近年来,IT行业开始热衷于各种云概念,而云主机就是其中之一,并且有越来越热之势.对普通用户而言,可能不太清楚云主机和VPS的区别,下面我们就来说说云主机和VPS到底有什么不同 ...

  3. [Bzoj 2547] [Ctsc2002] 玩具兵

    2547: [Ctsc2002]玩具兵 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 317  Solved: 152[Submit][Status] ...

  4. poj-1008-玛雅历

    Description 上周末,M.A. Ya教授对古老的玛雅有了一个重大发现.从一个古老的节绳(玛雅人用于记事的工具)中,教授发现玛雅人使用了一个一年有365天的叫做Haab的历法.这个Haab历法 ...

  5. npm 和bower之间的区别

    (一) npm是node js的包管理器,用来下载安装node js的第三方工具包,也可以用来发布你自己开发的工具包.通过npm可以安装bower,命令如下: npm install -g bower ...

  6. Mac HomeBrew 常用命令

    mac 系统常用的软件安装工具就是 homebrew, 其最常用的命令如下: 安装(需要 Ruby):ruby -e "$(curl -fsSL https://raw.github.com ...

  7. mysql多实例运行

    1.主配置文件 [mysqld_multi] mysqld = /usr/local/mysql/bin/mysqld_safe mysqladmin = /usr/local/mysql/bin/m ...

  8. 文献管理工具的使用(Mendeley和Endnote)

    以前是Mendeley的忠诚用户,但是最近在linux平台下出现的bug使我非常崩溃,之前辛辛苦苦整理的文献和分组,分分钟灰飞烟灭.所以希望能转用一个至少比较稳定的文献管理软件.刚好手头上有Mac版的 ...

  9. 关于redis数据库的简单思考

    redis数据库中有以下几种数据类型: 字符串,哈希,列表,集合,有序集合 它们应用的场景如下: 字符串用法单一,用于存储一个key的值,用于一一对应的场合 列表作为数组来使用 对于哈希,特别适用于存 ...

  10. [BZOJ 4417][Shoi2013]超级跳马

    4417: [Shoi2013]超级跳马 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 379  Solved: 230[Submit][Status ...