参考
需要完成以下任务
- 访问http://127.0.0.1:8000/ ?????????????????返回"hello maotai"或home.html- 访问http://127.0.0.1:8000/add/?a=1&b=2 ?????返回之和- 访问http://127.0.0.1:8000/add2/2/3 ?????????返回值和- 访问http://127.0.0.1:8000/add2_v2/2/3 ??????跳转到add2,并返回之和
项目代码实现
views.html书写
views.html#### 返回字符串def index(request): ???return HttpResponse("hello maotai")#### url参数 ?a=1&b=2 方式传参def add(request): ???a = request.GET['a'] ???b = request.GET['b'] ???c = int(a) + int(b) ???return HttpResponse(c)#### url参数/2/3 方式传递def add2(request, a, b): ???c = int(a) + int(b) ???return HttpResponse(str(c))#### 重定向到add2, url的cname#### 模板解析也用到了reverse函数,解析谁? 解析html,将解析到的结果返回def add2_v2(request, a, b): ???return HttpResponseRedirect(reverse('add2', args=(a, b)))#### 返回htmldef home(request): ???return render(request, "home.html")
urls.py
urlpatterns = [ ???path('', views.index), ???path('home/', views.home), ???path('add/', views.add), ???path('add2/<int:a>/<int:b>', views.add2, name='add2'), ???path('add2_v2/<int:a>/<int:b>', views.add2_v2, name='add2_v2'), ???path('admin/', admin.site.urls),]
home.html
<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<title>home</title></head><body><!-- url写死 -->{#<a href="/add2/2/3">add 2+3 </a>#}<!-- url写活 最终解析/add2/4/5 --><a href="{% url 'add2' 4 5 %}">add2 4+5 </a> <br><a href="{% url 'add2_v2' 4 5 %}">add2_v2 4+5 </a></body></html>