zoukankan      html  css  js  c++  java
  • Django路由系统---django重点之url传递一个默认参数

    django重点之url传递一个默认参数

    可以利用这个特性,让2个URL映射一个函数,但是返回2个不同的HTML

    url(r'default_param1', views.def_param,),

    url(r'default_param2', views.def_param, {"index": "index.html"}),

    settigs.py:增加STATICFILES_DIRS静态资源路径配置,名称为创建的文件夹名称

    'DIRS': [os.path.join(BASE_DIR, 'templates')],  # 设置templates的路径为Django以前版本
    # 'DIRS': [],      # 注释掉该行,此为Django 2.0.1最新版本
    # 'django.middleware.csrf.CsrfViewMiddleware',
             ...省略默认配置
    STATIC_URL = '/static/'
    TEMPLATE_DIRS = (os.path.join(BASE_DIR,  'templates'),)  # 原配置
    # 静态资源文件
    STATICFILES_DIRS = (os.path.join(BASE_DIR, "statics"),)   # 现添加的配置,这里是元组,注意逗号

    templates/*.html

    mysite2/urls.py

    from django.contrib import admin
    from django.urls import path
    from blog import views
    from django.conf.urls import url
    # URL值默认参数类型
    urlpatterns = [
          url(r'default_param', views.def_param, {"hello": "world"}),  # 将路径名跟函数进行映射
    ]

    views.py

    from django.shortcuts import render, HttpResponse
    import datetime 
    # 默认URL之参数类型,需要形参接收默认参数,形参名必须跟URL里面的一样
    # def default_param(request, name):   # 报错 default_param() got an unexpected keyword argument 'name'
    def def_param(request, hello):    # 形参名称必须跟URL里面的一致
      # return HttpResponse("URL值默认参数之hello参数".encode("gbk"), hello)# 默认返回的是一个字符串的拼接
       return HttpResponse(hello)  # 返回值: world

    页面显示:

    image_thumb[3]_thumb_thumb

    注意:

           如果参数名称重复,则默认的会覆盖前面的参数值[因为后面的参数覆盖前面]

    # URL值默认参数类型[参数覆盖问题]:
    url(r'^hello/[0-9]{4}/', views.def_param, {"hello": "world"}),

    image_thumb[4]_thumb_thumb

  • 相关阅读:
    112. Path Sum
    66. Plus One
    258. Add Digits
    268. Missing Number
    275. H-Index II
    274. H-Index
    264. Ugly Number II
    263. Ugly Number
    199. Binary Tree Right Side View
    222. Count Complete Tree Nodes
  • 原文地址:https://www.cnblogs.com/ftl1012/p/9398164.html
Copyright © 2011-2022 走看看