第二个app 计算

新建一个app

python manage.py startapp jisuan

在view定义显示的内容

加法 通过get请求进行获取数值

from django.shortcuts import render
from django.http import HttpResponse
def add(request):
a = request.GET['a'] #获取a 默认0
b = request.GET['b']
c = int(a)+int(b)
return HttpResponse(str(c)) #显示c

修改urls指定连接对应的视图

导入app下的视图

路径下引入

from jisuan import views as jisuan_views

urlpatterns = [
path('admin/', admin.site.urls),
path('learn/', learn_views.index),
path('jisuan/add/', jisuan_views.add),
]

测试

启动项目

python manage.py run server

访问

http://127.0.0.1:8000/jisuan/add/?a=66&b=888
#get请求获取参数 必须有两个参数 使用?变量名=值&拼接

另一种通过路径传参的方式

在视图内定义乘法

# 通过路径传参
def mul(repuest,a,b):
c=int(a)*int(b)
return HttpResponse(str(c))

访问网址路径传参的urls定义方法

path('jisuan/mul/<int:a>/<int:b>/',jisuan_views.mul),

网址路径传参测试

启动项目

python manage.py run server

访问

http://127.0.0.1:8000/jisuan/mul/4/5/

urls的urlname

urlname是在urls内给访问路径定义的名字

简单说,name 可以用于在 templates, models, views ……中得到对应的网址,相当于“给网址取了个名字”,只要这个名字不变,网址变了也能通过名字获取到。

  • 创建template目录,并在目录下创建jisuanindex.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Luckyness</title>
</head>
<body>
<a href="/mul/4/5/">计算 4*5</a>
***************
<a href="{% url 'mul' 4 5 %}">计算 4*5 使用urlname引用 </a>
</body>
</html>
  • 如果网页内的所有url都写死了的话,以后url需要修改,那么就需要对html页面进行很多修改,所以要使用urlname,给urls内的链接起一个别名,方便以后的修改
不带参数的:
{% url 'name' %}
带参数的:参数可以是变量名
{% url 'name' 参数 %}
例如:
<a href="{% url 'add2' 4 5 %}">link</a>
  • 将html引入网站 render渲染模板

django如何实现跳转

例如某个链接网址变更,但是用户收藏的旧网址

通过在views写一个跳转函数来实现

from django.http import HttpResponseRedirect
from django.urls import reverse def add2mul(request,a,b):
return HttpResponseRedirect(
reverse('mul',args=(a,b))
)

在urls内增加

  path('add/<int:a>/<int:b>/',jisuan_views.add2mul,name='tiaozhuan')

前端添加一个这样的链接

<a href="/add/4/5/">我的链接本来是/add/4/5/</a>

点击可以跳转到求积

Djangoday2第二个app加减法的更多相关文章

  1. Django框架之第二篇--app注册、静态文件配置、form表单提交、pycharm连接数据库、django使用mysql数据库、表字段的增删改查、表数据的增删改查

    本节知识点大致为:静态文件配置.form表单提交数据后端如何获取.request方法.pycharm连接数据库,django使用mysql数据库.表字段的增删改查.表数据的增删改查 一.创建app,创 ...

  2. 我的第二个app上线:术购管家

    忙了两周写完的app,终于发布了,可是等上线竟然等了两周多,今天终于上线了,一路顺畅,没有被打回过...

  3. 第二个App“今日美文”上架【原】

    App store 下载地址 开发这个App的本意 之前偶然找到一个叫<每日一文>的应用,正是我一直想找的,优点如下: 界面够简单 推荐的文章也很好,而且都不太长 每天都不一样 但是用起来 ...

  4. 第二章App框架设计与重构

    response标准格式: { "isError":false, "errorType": 0, "errorMessage": " ...

  5. vue做的第二个app

    用vue做应用最好的还是组件的复用上次做饿了吗的app封装了一个评分star的组件只要引入组件传入size大小和score分数就行了,这次做豆瓣直接就就用上了不用重复写代码.不过vue做单页应用全部挂 ...

  6. [Learn AF3]第二章 App Framework 3.0的组件View——AF3的驱动引擎

    View:af3中的驱动引擎   组件名称:View     使用说明:按照官方的说法,view组件是af3的“驱动引擎(driving force)”,view是af3应用的基础,一个app中可以包 ...

  7. iOS 两个App之间调起通信

    前言 假设需求是这样的:由一个app1跳转到app2之后,app2完成某项任务之后,怎么把app2的完成信息传到app1(自己的程序是app1),传的是什么类型的数据,怎么进行解析? 逻辑 本文章使用 ...

  8. iOS中两个APP之间的跳转和通信

    app间的跳转 一:在第一个app首先要做下面这些操作: 1.在info.plist文件中的Information Property List下添加一项:URL types. 2.点开URL type ...

  9. 第一个app.总结

    前记: 最近想整点外快,但是又没啥子技术,唉,学了一下android,想写点游戏啥的,,唉,可惜,美工,UI始终不行,代码也勉勉强强... 不过总的来说也是收获参半吧,也是有一些新的知识学到了嘛,至少 ...

随机推荐

  1. (Git) 优秀Java,Vue项目推荐

    Java 1.spring-boot-pay 地址:小柒2012/spring-boot-pay 这是一个支付案例,提供了包括支付宝.微信.银联在内的详细支付代码案例,对于有支付需求的小伙伴来说,这个 ...

  2. Arthas - Java 线上问题定位处理的终极利器

    前言 在使用 Arthas 之前,当遇到 Java 线上问题时,如 CPU 飙升.负载突高.内存溢出等问题,你需要查命令,查网络,然后 jps.jstack.jmap.jhat.jstat.hprof ...

  3. CTR@DeepFM

    1. DeepFM算法 结合FM算法和DNN算法,同时提取低阶特征和高阶特征,然后组合.FM算法负责对一阶特征及由一阶特征两两组合成的二阶特征进行特征提取:DNN算法负责对由输入的一阶特征进行全连接等 ...

  4. Nmap的一些常用的nse脚本

    转自freebuf.com/  点击跳转 在这篇文章中,我们将研究最著名的渗透工具之一 Nmap 一款标志性的跨平台扫描器.它的原意为Network Mapper(网络映射器),具有相当强大的扫描功能 ...

  5. MIT线性代数:2.消元法

  6. csp-s模拟测试101的T3代码+注释

    因为题目过于大神所以单独拿出来说.而且既然下发std了颓代码貌似也不算可耻233 很难讲啊,所以还是写在代码注释里面吧 因为比较认真的写了不少注释,所以建议缩放到80%观看,或者拿到gedit上 1 ...

  7. ASP.NET Core Blazor 用Inspinia静态页模板搭建简易后台(实现菜单选中)

    Blazor 是一个用于使用 .NET 生成交互式客户端 Web UI 的框架: 使用 C# 代替 JavaScript 来创建丰富的交互式 UI. 共享使用 .NET 编写的服务器端和客户端应用逻辑 ...

  8. 实现支持多用户在线的FTP程序(C/S)

    1. 需求 1. 用户加密认证 2. 允许多用户登录 3. 每个用户都有自己的家目录,且只能访问自己的家目录 4. 对用户进行磁盘分配,每一个用户的可用空间可以自己设置 5. 允许用户在ftp ser ...

  9. 虚幻4 UE4 蓝图之关卡蓝图实现自动开关门

    新建项目 往关卡中放置一个门 在内容浏览器中找到 门 的静态网格体 拖放到关卡中 此时门默认没有碰撞,人物可以直接穿过 给门添加碰撞 双击内容管理器中的 SM_Door,打开编辑窗口 选择菜单&quo ...

  10. PL真有意思(二):程序设计语言语法

    前言 虽然标题是程序语言的语法,但是讲的是对词法和语法的解析,其实关于这个前面那个写编译器系列的描述会更清楚,有关语言语法的部分应该是穿插在整个设计当中的,也看语言设计者的心情了 和英语汉语这些自然语 ...