zoukankan      html  css  js  c++  java
  • Django 2.0 学习(03):Django视图和URL(下)

    上篇博文,继续分析Django基本流程。

    编写第一个(view)视图函数

    1、打开文件polls/views.py,输入下面的Python代码:

    from django.http import HttpResponse
    
    
    def index(request):
        return HttpResponse("Hello World! You're at the polls index.")
    

    2、上面是一个最简单的Django视图函数,为了调用这个视图函数,我们需要为它做一个URL映射;在目录polls下面创建文件urls.py,并在polls/urls.py文件中输入下面代码:

    from django.urls import path
    from . import views
    
    
    urlpatterns = [
        path('', views.index, name='index'),
    ]
    

    3、接下来,需要将poll.urls指向根URLconf模块,在项目的mysite/urls.py文件添加django.urls.include,并且在urlpatterns列表中添加一个include(),如下所示代码:

    from django.contrib import admin
    from django.urls import path, include
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('polls/', include('polls.urls')),
    ]
    

    4、现在我们可以来确认上面的操作是否正确工作,在mysite项目目录下运行下面命令:

    python manage.py runserver
    

    5、在浏览器中打开 URL,我们将会看到"Hello World! You're at the polls index.",这个就是我们在index视图函数中定义的内容;

    我们可以看到在浏览器中访问的结果也是正确的:

    补充讲解

    在这里,我们补充讲解一个函数:path,详细信息可以参考

    path函数传递四个参数,两个必须参数:route和view;两个可选参数:name和kwargs
    • path() 参数:route
      route是一个包含URL pattern的字符串,当处理一个request请求的时候,Django从urlpatterns 列表中的第一个开始匹配,直到匹配到一个相符的URL;patterns不会搜索request请求的方法(GET、POST)或者domain name,例如下面的request请求https://www.example.com/myapp/,URLconf查找的是myapp/;在request请求https://www.example.com/myapp/?page=3,中URLconf依然查找的是myapp;
    • path()参数:view
      当Django匹配到一个URL pattern,就会调用它对应的视图函数,该视图函数的第一各参数必须是request;
    • path()参数:name和kwargs
      目前不做讲解,在后面部分的使用过程中逐步讲解;
  • 相关阅读:
    linux设置docker阿里云镜像
    RapidJSON使用代码片段
    从输入URL到浏览器显示页面发生了什么
    基于vue发布npm插件时 引入插件时 控制台报错“Cannot read property 'toLowerCase' of undefined”
    通过git、gitHub将本地代码上传至gitHub上
    360浏览器长时间不访问或卡顿时容易自动切换到兼容模式下
    Linux 系统目录结构
    Linux 系统启动过程
    The Best Place for Error Messages on Forms
    BEST PRACTICES FOR FORM DESIGN
  • 原文地址:https://www.cnblogs.com/love9527/p/8581148.html
Copyright © 2011-2022 走看看