• 01_url概念及基本使用


    1. url概念

    URL(Uniform Resoure Locator)统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。

    2. url格式

    http://127.0.0.1:8000/hello/
    URL解释:
    schema://host[:port]/path/.../[?query-string][#anchor]
    schema:指定使用的协议(例如:http, https, ftp)
    host:Http服务器的IP地址或者域名
    port:端口号,http默认是80端口
    path:访问资源的路径
    query-string:发送给http服务器的数据
    anchor:锚点
    

    3. urls.py的使用

    URL配置(URLconf)就像是Django所支撑网站的目录。它的本质是URL模式以及要为该URL模式调用的视图函数之间的映射表。以这样的方式告诉Django,对于那个URL调用那段代码。url的加载就是从配置文件中开始。

    实例

    from django.urls import path
    from django.http import HttpResponse
    
    def test_url(request):
        """测试路由函数"""
        return HttpResponse('test_url')
    
    urlpatterns = [
        path('test/', test_url, name='test_url'),
    ]
    

    include的使用

    方便项目管理:
    一个project有一个总的urls.py,各个app也可以自己建立自己的urls.py,不过都需要使用include()函数在project的urls.py文件进行注册。

    #hello_django/urls.py     主url文件
    from django.urls import include, path
    from .import views
    
    urlpatterns = [
        path('books/',include('books.urls')),
    ]
    
    #books/urls.py    APP books里面的URL文件
    from django.urls import path
    from . import views
    
    app_name = 'books'     # 使url反转的时候能够更精确的查找到 是这个urls.py 文件, 里面的某一条路由
    
    urlpatterns =[
        path('',views.index, name='index'),
        path('article/$', views.article, name='article'),
    ]
    

    name和app_name 的作用

    给一个匹配的url地址取名字
    一般用于模板
    也可以使用reverse进行页面重定向
    为什么要使用name?

    url有一个name的参数,name参数可以给这个url取一个合适的名字。通过给url取名字,以后在view或者模板中使用这个URL,就只需要通过这个名字就可以了。这样做的原因是防止url的规则更改,会导致其他地方用了这个url的地方都需要更改,但是如果取名字了,就不要做任何改动了。
    
  • 相关阅读:
    java 微信公众号素材 新增其他类型永久素材
    @schedule
    idea 打包的jar运行报 “XXX中没有主清单属性”
    openjdk没有ssl支持的相关证书包,导致使用HTPPS调用第三方接口时候报错误 InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
    查询端口是否开通
    企业微信-之无法修改成员手机号
    PostgreSQL使用distinct关键字给单独的几列去重
    centos全屏幕退出:Alt+Enter
    github上OC 和swift框架精选
    github每日精选---iOS版
  • 原文地址:https://www.cnblogs.com/nichengshishaonian/p/11523030.html
Copyright © 2020-2023  润新知