第二个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. CMMS系统中的物联监测

    有条件的设备物联后,可时实查看设备运行状态,如发现异常,可提前干预.

  2. NOIP模拟测试19考试反思

    这次考试是存在很大问题的,(如果不是T1T2出乎意料地A了,鬼知道会发生什么) T2A是情理之中,考试的时候测的极限数据跑的很快(无论m什么范围),但是T1真的...... T3没有分配太多的时间+没 ...

  3. .netcore之DI批量注入(支持泛型) - xms

    一旦系统内模块比较多,按DI标准方法去逐个硬敲AddScoped/AddSingleton/AddTransient缺乏灵活性且效率低下,所以批量注入提供了很大的便捷性,特别是对于泛型的服务类,下面介 ...

  4. 手写Spring框架,加深对Spring工作机制的理解!

    在我们的日常工作中,经常会用到Spring.Spring Boot.Spring Cloud.Struts.Mybatis.Hibernate等开源框架,有了这些框架的诞生,平时的开发工作量也是变得越 ...

  5. python 快速发送大量邮件

    因为公司需求,需要发送千万封级别邮件. # coding:utf-8 import csv import smtplib from email.mime.text import MIMEText im ...

  6. Mybatis MapperScannerConfigurer 自动扫描 将Mapper接口生成代理注入到Spring - 大新博客 - 推酷 - 360安全浏览器 7.1

    Mybatis MapperScannerConfigurer 自动扫描 将Mapper接口生成代理注入到Spring - 大新博客 时间 2014-02-11 21:08:00  博客园-所有随笔区 ...

  7. Spring中常用的注解及作用

    @Component(value) 配置类,当使用该注解时,SpringIOC会将这个类自动扫描成一个bean实例 不写的时候,默认是类名,且首字母小写 @ComponentScan 默认是代表进行扫 ...

  8. SQL Server 2014:在修改表的内容时,提示“此单元格已更改,尚未将更改提交到数据库”,怎么处理?

    那一行上的属性为“不允许为null”的所有字段都填上对应信息,按回车键或者点击下一行任意一个单元格便会自动将更改的信息提交到数据库.

  9. flume安装和介绍

    一.安装1.flume-ng-1.5.0-cdh5.3.6.tar.gz 下载链接:https://pan.baidu.com/s/1AWPGP2qnY6_VpYr_iSnJ3w 密码:tiog2.对 ...

  10. yum 配置文件 以及 语法

    yum的配置文件 #vi /etc/yum.conf [main] cachedir=/var/cache/yum/$basearch/$releasever keepcache= debugleve ...