• 第二章、视图与路由


    1、创建视图模块

      1)创建静态内容视图:在项目的mysite文件夹中创建一个views.py的文件,作为视图模块。然后编写一个简单的视图脚本

    from django.http import HttpResponse
    
    
    def hello(request):
        return HttpResponse("hello world!")

      2)创建动态内容的视图:每次请求时内容都不一样,如下面的时间函数

    from django.http import HttpResponse
    import datetime
    
    
    def hello(request):
        return HttpResponse("hello world!")
    
    
    def index(request):
        return HttpResponse("index page!")
    
    
    def new_time(request):
        time = datetime.datetime.now()
        html = "<html><body>It is now %s.</body></html>" % time
        return HttpResponse(time)

    2、配置路由 

     1)配置访问试图的路由:

        a、path设置路由:打开mysite文件夹中的urls.py文件,添加一条访问hello试图的路由

    from django.contrib import admin
    from django.urls import path
    from mysite.views import hello
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('hello/', hello)
    ]

        b、url设置路由:打开mysite文件夹中的urls.py文件,添加一条访问hello试图的路由,使用url的方式的特别之处就是可以使用正则表达式。

    from django.contrib import admin
    from django.urls import path
    from mysite.views import hello
    from django.conf.urls import url
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        url('^hello/$', hello)
    ]

        以上两种都可以正常使用,根据实际需要进行选择;访问服务地址:http://127.0.0.1:8000/hello/即可在页面显示:hello world !

        重要的一点,如果路由在实际业务中是有规律的变化时,可以用合适的正则表达式来灵活处理,从而减少配置多个有规律的路由。

        

      2、处理服务的根目录时,我们可以通过设置空的路由指向来达到目的。代码示例如下:

        a、views.py中的代码如下:

    from django.http import HttpResponse
    
    
    def hello(request):
        return HttpResponse("hello world!")
    
    
    def index(request):
        return HttpResponse("index page!")

        b、urls.py中的代码如下

    from django.contrib import admin
    from django.urls import path
    from mysite.views import hello, index
    from django.conf.urls import url
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        # path('hello/', hello),    # path方式
        url('^hello/$', hello),   # url方式
        path('', index),    # path方式
        url('^$', index),   # url方式
    ]
  • 相关阅读:
    Arduino mega 2560驱动安装失败(没有建立对验证码(TM)签名的目录的发布者信任)的解决方法
    Submile text3 安装使用技巧
    window.onload
    JS简单示例
    python类和对象的底层实现
    python类中方法加单下划线、双下划线、前后双下滑线的区别
    linux下json工具jq
    Django使用自定义的authentication登录认证
    django admin
    linux网卡桥接问题与docker网卡桥接问题
  • 原文地址:https://www.cnblogs.com/fxcity/p/15863122.html
Copyright © 2020-2023  润新知