一 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. guava cache使用和源码分析

    guava cache的优点和使用场景,用来判断业务中是否适合使用此缓存 介绍常用的方法,并给出示例,作为使用的参考 深入解读源码. guava简介 guava cache是一个本地缓存.有以下优点: ...

  2. python web开发-flask读取txt文件内容

    某些情况下,需要读取flask网站要目录下的txt文件.但是直接在flask网站的目录下创建一个文件是无法访问的.从网站找了一些资料,最终发现通过写一个方法返回txt内容比较简单方便,不过此方法适用于 ...

  3. canvas实现将文字变成颗粒

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  4. JSON基础(JavaScript)

    1.在JS中使用JSON,先将字符转换为JOSN格式然后就可以直接使用: var obj = JSON.parse(cInfoObj) $('#staffName').val(obj.candidat ...

  5. 笔记:Maven 插件配置 - maven-jar-plugin

    在项目中内部重用某个模块的测试代码很常见的需求,可能某个底层模块的测试代码中包含一些常用的测试工具类,或者一些高质量的测试基类供继承,这个时候Maven用户就需要通过配置此插件将测试类打包,插件配置代 ...

  6. java中StringUtils中isEmpty 和isBlank的区别

    StringUtils在commons-lang-2.2.jar包中:org.apache.commons.lang.StringUtils ; StringUtils方法的操作对象是java.lan ...

  7. Linux 开放端口

    安装iptables 一般情况下,ubuntu安装好的时候,iptables会被安装上,没有安装上也没啥,一条命令就可以安装了. apt-get install iptables 安装好了之后就可以添 ...

  8. python之Redis的字符串类型操作

    redis的数据类型: 字符串型    哈希     列表     集合     有序集合 1.String(字符串类型) set  命令:   设置一个键和值,键存在则只覆盖,返回ok > s ...

  9. 多线程——工具类之Semaphore

    一.Semaphore功能介绍 Semaphore类相当于线程计数器,在获取Semaphore对象时设定可以产生的线程总数(线程并不是Semaphore类生成的,它只是统计线程的数量),创建Semap ...

  10. scrapy---callback 传递自定义参数

    在scrapy提交一个链接请求是用 Request(url,callback=func) 这种形式的,而parse只有一个response参数,如果自定义一个有多参数的parse可以考虑用下面的方法实 ...