zoukankan      html  css  js  c++  java
  • Django 视图与网址进阶

    Django 视图与网址进阶

    网页做加减法

    1,采用 /add/?a=4&b=5

    # 新建项目和应用
    django-admin startproject add
    python manage.py startapp calc
    

    目录结构如下

    add/
    ├── add
    │   ├── __init__.py
    │   ├── __init__.pyc
    │   ├── settings.py
    │   ├── settings.pyc
    │   ├── urls.py
    │   └── wsgi.py
    ├── calc
    │   ├── admin.py
    │   ├── apps.py
    │   ├── __init__.py
    │   ├── migrations
    │   │   └── __init__.py
    │   ├── models.py
    │   ├── tests.py
    │   └── views.py
    └── manage.py
    

    修改 calc/views 文件

    from django.shortcuts import render
    from django.http import HttpResponse
     
    def add(request):
        a = request.GET['a']
        b = request.GET['b']
        c = int(a)+int(b)
        return HttpResponse(str(c))
    

    接着修改urls.py 文件,添加一个网址来对应我们刚才新建的视图函数

    from django.conf.urls import url
    from django.contrib import admin
    # 先引入
    from calc import views as calc_views
     
    urlpatterns = [
        url(r'^add/$', calc_views.add, name='add'),  # 注意修改了这一行
        url(r'^admin/', admin.site.urls),
    ]
    

    2,采用 /add/3/4

    django 支持更优雅的网址

    修改 calc/views 文件,重新定义一个 add2 函数

    def add2(request, a, b):
        c = int(a) + int(b)
        return HttpResponse(str(c))
    

    接着添加一个新的 url

    url(r'^add/(d+)/(d+)/$',calc_views.add2,name='add2'),
    

    网址中多了 (d+),正则中 d 代表一个数字,+ 代表一个或多个前面的字符,写在一起 d+ 就是代表一个或多个数字,用括号的意思是保存为一个子组,每一个子组将作为一个参数,被 views.py 中的对应视图函数所接受。

  • 相关阅读:
    怎么删除json 键值对
    解决html 图片缓存问题
    美工常用的网站分享
    小程序授权页面
    BitMap原理
    css页面加载动画
    可能这些是你想要的H5软键盘兼容方案
    关于范式 :1NF 2NF 3NF等
    Python3学习DAY4
    DTD相关
  • 原文地址:https://www.cnblogs.com/andy-linux/p/6743496.html
Copyright © 2011-2022 走看看