第二个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. spring cloud 2.x版本 Zuul路由网关教程

    前言 本文采用Spring cloud本文为2.1.8RELEASE,version=Greenwich.SR3 本文基于前两篇文章eureka-server.eureka-client.eureka ...

  2. Vue中Form表单验证无法消除验证问题

    iView的表单api给出了一个resetFields方法,用于重置整个表单输入的内容并清除验证提示. 但是有时候需要只消除部分的iview的resetFields方法源码是这样的resetField ...

  3. 学习笔记31_ORM框架ModelFirst设计数据库

    ModelFirst就是先设计实体数据类型,然后根据设计的数据类型,生成数据库表 1.新建项--ADO.NET实体数据模型--空数据模型--进入模型设计器(点击xxx.edmx文件也能进入设计器). ...

  4. Numpy 中的聚合操作

    # 导包 import numpy as np sum np.random.seed(10) L = np.random.random(100) sum(L) np.sum(L) min np.min ...

  5. NFS共享目录

    NFS(Network Files System)即网络文件系统 NFS文件系统协议允许网络中的主机通过TCP/IP协议进行资源共享,NFS客户端可以像使用本地资源一样读写远端NFS服务端的资料,需要 ...

  6. 使用CBrother的CLIB库调用windows的API

    使用CBrother的CLIB库调用windows的API 2.1.0版本CBrother加入了CLib库,最新需要写一个工具,根据路径查杀一个Windows进程,研究了一下,CLib库的用法,感觉还 ...

  7. Mysql 开启远程连接服务

    Mysql 开启远程连接服务 修改要远程访问的那个用户的 host 为 % use mysql; insert into user (host, user, password) values('%', ...

  8. 用安全密钥验证ssh

    1.需要打开两台虚拟机,并保证两台虚拟机可以ping通: 本地主机IP:192.168.8.120 远程主机IP:192.168.8.100 2.在本地主机生成密钥对,输入命令“ssh-keygen” ...

  9. 查找文件或目录(find、locate、whereis、which、whatis)

    find命令:可以按文件名.文件的类型.用户等条件来递归查找文件或目录 find  [路径]  [匹配表达式] ,常用选项如下 -name filename  按文件名 -user username ...

  10. vim光标移动、跳转

    这里记载我用到并需要下次会用的vim快捷键 vim的三个模式:命令行模式.插入模式.底行模式 从命令模式到插入模式: a 光标后输入 A 行尾输入 i 光标前输入 I 行首输入 o 上一行输入 O 下 ...