Djangoday2第二个app加减法
第二个app 计算
新建一个app
在view定义显示的内容
修改urls指定连接对应的视图
测试
另一种通过路径传参的方式
访问网址路径传参的urls定义方法
网址路径传参测试
urls的urlname
django如何实现跳转
新建一个app
在view定义显示的内容
修改urls指定连接对应的视图
测试
另一种通过路径传参的方式
访问网址路径传参的urls定义方法
网址路径传参测试
urls的urlname
django如何实现跳转
第二个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
简单说,name 可以用于在 templates, models, views ……中得到对应的网址,相当于“给网址取了个名字”,只要这个名字不变,网址变了也能通过名字获取到。
<!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>
点击可以跳转到求积