这里介绍如何在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. ubuntu12.04下sun-java1.6-jdk配置

    1. 下载安装 2. 设置安装的默认程序 $ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0_2 ...

  2. Linux组件封装(五)一个生产者消费者问题示例

    生产者消费者问题是计算机中一类重要的模型,主要描述的是:生产者往缓冲区中放入产品.消费者取走产品.生产者和消费者指的可以是线程也可以是进程. 生产者消费者问题的难点在于: 为了缓冲区数据的安全性,一次 ...

  3. 一扫天下——ZXing使用全解析

    一扫天下--ZXing使用全解析 二维码如今已经烂App了,无论什么App.没有二维码就好像低人一等了. 所以,在自己的项目中集成二维码功能还是非常有必要的. 网上非常多都是基于ZXing2.3的.可 ...

  4. scrapy 安装详解

    一. Scrapy简介 Scrapy is a fast high-level screen scraping and web crawling framework, used to crawl we ...

  5. Android 报错记录

     IOException java.io.IOException: Permission denied: 权限不足.原因可能是: 未加入权限 <uses-permission android ...

  6. <转>Windows平台下Makefile学习笔记(一)

    本文转自:http://blog.csdn.net/clever101/article/details/8147352 决心学习Makefile,一方面是为了解决编译开源代码时需要跨编译平台的问题(发 ...

  7. macOS10.12部署sonarqube5.6.3

    所需安装包已全部上传云盘:https://pan.baidu.com/s/1i5LvOCd 密码:s47e 1. 安装mysql 下载云盘的dmg包,一路默认安装,注意:一定要记住最后一步弹出的默认密 ...

  8. Git--代码托管/协同开发

    Git--代码托管 我爱写代码,公司写,家里写,如果每天来回带一个U盘拷贝着实麻烦,Git有没有类似于云盘似得东西可以进行数据同步呢?答案肯定是有. GitHub,一个基于Git实现的代码托管的平台, ...

  9. C# 为枚举创建新方法

    可以使用扩展方法添加特定于某个特定枚举类型的功能. 示例在下面的示例中,Grades 枚举表示学生可能在班里收到的字母等级分.该示例将一个名为 Passing 的扩展方法添加到 Grades 类型中, ...

  10. CardView的具体使用方法(转)

    转载自:CardView的具体使用方法  因为学习做此记录方便查找使用 今天主要是CardView的用法,CardView是在安卓5.0提出的卡片式控件.首先介绍一下它的配置. 在gradle文件下添 ...