这里介绍如何在Django里新建一个模块,这个例子还是最简单的例子

通过浏览器访问 http://localhost:8000/hello/然后返回一个欢迎页

我是做java web出身的,这里用python的Django来做,习惯性的会和SpringMVC去对比一下

其实,在我看来,这里用Django也没什么神奇的地方

用SpringMVC来做一个hello页面的时候,一个请求发送到tomcat以后,首先是请求映射器处理url,经过处理器适配器以后,找到处理这个请求的controller,处理完了以后经过视图解析器渲染视图,其实抛开框架xml里的配置以后,需要提供三部分代码

1.一个html文件用于渲染视图

2.一个controller用于处理请求,在controller里告诉框架自己的结果被渲染到那个页面

3.一个@RequestMapping用于配置url和controller的关系

其实,用Django也就这三部分。

html文件对应的是django里的模版文件(static和templates目录)

controller对应都是django里的views.py文件里定义的函数,同时这个函数需要用render告诉django自己要去那个模版,render里的第三个参数,其实就类比于ModelAndView里的Model携带的数据

@RequestMapping对应django里的urls.py文件里的配置(这里可能和sturts里在xml里配置映射更像吧,不过我对SpringMVC更熟,所以就暂且用SpringMVC来对比吧)。在urls.py里要告诉django请求来了,去那个views里的那个函数处理

下面看代码:

第一步:建立模版文件

1.在app目录下新建static和templates目录(这两个目录名字和路径是固定的,除非修改配置参数)

  static用于存放css和js代码

  templates用于存放模版代码(html格式)

  

2.编写模版文件(按照个人开发习惯,有人喜欢先写views.py文件里的逻辑)

  

  备注:这个文件里 <link href="{% static 'css/bootstrap.min.css' %}" rel="stylesheet">的static为setting.py里的STATIC_URL = '/static/'的值,所以,如果要改static文件夹的名字改这个参数就可以了,如果需要改static文件的路径需要设置STATICFILES_DIRS参数的值,如下配置中,就是把static文件放在项目根目录下的配置方式:

              

如果要把templates文件夹也放在项目根目录下配置的是TEMPLATES属性的值,如:

          

3.编写views.py(\hello_django\hello\views.py)文件

  

4.配置urls.py(\hello_django\hello_django\urls.py)文件

  

这里如果把所有的urls都管理在项目根目录下的urls.py中,随着请求的增多,这个文件会越来越难维护,就像Spring的配置文件一样,一般是在总的xml里引入各个分的xml,这里也可以使用这种思想。在每个app里建立自己的urls.py,在项目根路径下,引入这些urls就可以了,比如:

    新建:\hello_django\hello\urls.py

    

    在\hello_django\hello_django\urls.p引入

    

5.访问:http://localhost:8000/hello/

  

15.Django添加一个功能模块的步骤(和SpringMVC类比)的更多相关文章

  1. yii2自带的backend,frontend不够用,添加一个后台模块怎么做?

    在复杂项目里,高级模板中的fontend.backend application明显不够,可以再添加另外的application. 例如添加一个seller application .步骤如下: 1, ...

  2. Arcgis Engine 添加一个Symbol符号样式步骤

    public static void DrawPictureMarkerSymbol(IGlobe globe, String layerName) { //添加一个图层 ESRI.ArcGIS.Ca ...

  3. 添加一个功能Action

    1,只用一个handler类,所有都事件的处理器都在一个handler类 handler要创建以Action为名称的方法 event要单独分开,继承KDEvent package com.kingde ...

  4. django 添加分页功能的包

    Django pagination based upon the core pagination module

  5. 以用户注册功能模块为例浅谈MVC架构下的JavaWeb开发流程

    JavaWeb应用开发,撇开分布式不谈,只讨论一个功能服务应用的开发,无论是使用原生的Servlet/JSP方案,还是时下的SSM架构,都有一套经过工程实践考验的最佳实践,这综合考虑了团队协作.项目管 ...

  6. Abp Zero——前端如何新增功能模块

    为适应不同开发人员,abp rezo的UI实现了spa和mpa两套: spa--Single-page Application(单页面应用),默认"http://localhost/Acco ...

  7. 文件一键上传、汉字转拼音、excel文件上传下载功能模块的实现

    ----------------------------------------------------------------------------------------------[版权申明: ...

  8. biweb添加新的模块

    1.例如添加一个新闻模块,首先去纯净的项目的根目录复制出一个news文件夹到项目外 2.打开dreamweaver, 编辑 ->查找和替换 例如 新模块 叫 我的新闻,英文名叫mynews,则进 ...

  9. Linux驱动之建立一个hello模块

    目标:在开发板上执行insmod hello.ko能在控制台打印出hello init:接着执行rmmod会在控制台打印出hello exit 建立一个hello模块的步骤如下: 1.建立一个hell ...

随机推荐

  1. Android Socket通信编程

    安卓客户端通过socket与服务器端通讯一般可以按照以下几个步骤:(1).通过IP地址和端口实例化Socket,请求连接服务器:socket = new Socket(HOST, PORT); //h ...

  2. SurfaceView实现拍照预览

    一.布局代码 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:andro ...

  3. Django与SQL语言中——NULL与空字符串的区别

    SQL有指定空值的独特方式,它把空值叫做NULL. Null在数据库中表示 不知道的数据,主要有3种意思: 1)知道数据存在,但不知道具体值. 2)不知道数据是否存在. 3)数据不存在. 在SQL中, ...

  4. Android Studio Gradle项目中加入JNI so文件

    首先在Android Studio(版本号1.2.2)project的app文件夹下创建整个jni文件夹,jni文件夹里写Android.mk.Application.mk以及各类C/C++和汇编源文 ...

  5. unordered_map 与 map 的对比(转)

    unordered_map和map类似,都是存储的key-value的值,可以通过key快速索引到value.不同的是unordered_map不会根据key的大小进行排序, 存储时是根据key的ha ...

  6. XML的基本用法(转)

    一.概述 XML全称为可扩展的标记语言.主要用于描述数据和用作配置文件. XML文档在逻辑上主要由一下5个部分组成: XML声明:指明所用XML的版本.文档的编码.文档的独立性信息 文档类型声明:指出 ...

  7. iOS 11之Vision人脸检测

    代码地址如下:http://www.demodashi.com/demo/11783.html 大道如青天,我独不得出 前言 在上一篇iOS Core ML与Vision初识中,初步了解到了visio ...

  8. [腾讯 TMQ] 零基础学习 Fiddler 抓包改包

    本文转载于https://testerhome.com/topics/7159 一.Fiddler1.1.简介Fiddler是一款HTTP协议调试代理工具,它能够抓取记录本机所有HTTP(S)请求,通 ...

  9. 会话管理之Cookie技术

    会话管理是web开发中比较重要的环节,这一节主要总结下会话管理中的cookie技术. 1. 何为会话 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个 ...

  10. APICloud打包Vue单页应用

    APICloud新建项目后,会生成以下目录结构 其中index.html是入口文件,而vue-cli打包生成的文件是在dist目录下 ├─dist│ └─static│ ├─css│ └─js │ └ ...