zoukankan      html  css  js  c++  java
  • Django学习笔记(二)视图函数

    一、url映射

    1、为什么回去urls.py文件中找映射?

    在‘settings.py’文件中配置了‘ROOT_URLCONF’为‘urls.py’.所有的django回去urls.py中寻找。

    2、在“urls.py”中我们所有的映射,都应该放在变量"urlpatterns"中。

    3、所有的映射不是随便写 的,而是用“path”函数或者是“re_path”函数进行包装的。

    注意

    • 试图函数的第一个参数必须时request。这个参数绝对不能少。
    • 试图函数的返回值必须时'django.http.response.HttpResponseBase'的子类的对象。

    二、url传递参数

    1、采用在url中使用变量的方式:在path的第一个参数中,使用“<参数名>”的方式可以传递参数。然后在视图函数中也要写一个参数,视图函数中的参数必须和url中参数名称保持一致。另外url中可以传递多个参数。

    2、采用查询字符串的方式:在url中,不需要单独的匹配查询字符串的部分。只需要在视图函数中使用"request.GET.get('参数名称')"的方式获取。

    三、示例代码:

    • views.py
    from django.shortcuts import render
    from django.http import HttpResponse
    
    # Create your views here.
    #Url视图映射
    def eltmain(requset):
        return HttpResponse('自动化ETL')
    #Url视图传参
    def eltdetail(requset,etl_id):
        return HttpResponse(f'当前任务是{etl_id}')
    #Request传参
    def source_detail(request):
        source_id=request.GET.get('id')
        return HttpResponse(f'当前来源是{source_id}')
    • urls.py
    from django.contrib import admin
    from django.urls import path
    from django.http import HttpResponse
    from ETL import views
    
    #定义首页
    def index(request):
        return HttpResponse("首页")
    
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        #定义首页
        path('',index),
        #Url视图映射
        path('etl/',views.eltmain),
        #Url视图传参
        path('etl/<etl_id>',views.eltdetail),
        #Request传参
        path('sourcedetail/',views.source_detail)
    ]
  • 相关阅读:
    eclipse启动时发生的Initializing Java Tooling错误
    2017最新xcode打包APP详细图文
    系统安全:安装系统时要做的优化
    逻辑卷扩容
    记一次装13行为
    网络边界安全:防火墙双机热备之上下行接交换机
    解决故障的终极绝招:重装重启之dell R620装系统
    态势感知
    怪力乱神
    远程给客户配置防火墙的反思
  • 原文地址:https://www.cnblogs.com/Evan-fanfan/p/9555338.html
Copyright © 2011-2022 走看看