当前位置: 首页 > news >正文

企业网站建设的账务处理湖州网站集约化平台

企业网站建设的账务处理,湖州网站集约化平台,企业网站开发用什么软件,忻州网络公司网站建设文章目录 1. URL 组成部分详解2. 第一个 Django 项目2.1 项目结构2.2 project 和 app 的关系 3. URL 与视图函数的映射4. URL 的两种传参方式4.1 通过字符串查询4.2 在 path 中携带 5. path 函数详解6. 路由模块化7. 路由反转 1. URL 组成部分详解 URL 的基本组成格式 scheme…

文章目录

  • 1. URL 组成部分详解
  • 2. 第一个 Django 项目
    • 2.1 项目结构
    • 2.2 project 和 app 的关系
  • 3. URL 与视图函数的映射
  • 4. URL 的两种传参方式
    • 4.1 通过字符串查询
    • 4.2 在 path 中携带
  • 5. path 函数详解
  • 6. 路由模块化
  • 7. 路由反转

1. URL 组成部分详解

URL 的基本组成格式

scheme://[username:password@]hostname[:port][/path][;parameters][?query][#fragment]
  • scheme(protocol):协议

    • 常用协议:hrrp、https、ftp等
  • username、password:用户名、密码

    • 某些情况下 URL 需要提供用户名和密码才能访问
  • hostname:主机地址

    • 可以是域名或 IP 地址
  • port:端口

    • http://localhost:8080
      
    • 服务器设定的端口

  • path:路径

    • 网络资源在服务器中的指定地址
  • parameters:参数

    • 用来指定访问某个资源时的附加信息
  • query:查询

    • 用来查询某类资源
    • 如有多个查询,则用 & 隔开
  • fragment:片段

    • 对资源描述的部分补充
    • 两个主要应用
      • 单页面路由:Vue、React 都可以借助它来做路由管理
      • HTML 锚点:控制一个页面打开时自动下滑滚动到某个特定的位置

2. 第一个 Django 项目

  • 通过 Pycharm 选择 Django 项目自动创建

2.1 项目结构

  • 项目名称
    • asgi.py:项目的入口,用于异步服务器网关接口 (ASGI) 配置
      • ASGI 是一种新的协议,支持异步编程,适用于 WebSocket 等异步任务
    • settings.py:项目的全局配置文件
      • 数据库配置
      • 静态文件路径
      • 安装的应用程序列表
      • 中间件配置
      • 安全设置
    • urls.py:管理 URL 路由,定义用户请求的路径和对应视图函数之间的映射关系
    • wsgi.py: 项目的入口,用于同步服务器网关接口 (WSGI) 配置
      • WSGI 是一种规范,用于同步 Web 请求处理
      • Django 默认使用它来部署
  • manage.py:管理和执行 Django 命令(python manage.py [子命令]
    • 运行服务器
    • 迁移数据库
    • 创建应用

2.2 project 和 app 的关系

  • app:Django 项目的组成部分

    • 一个 app 代表项目中的一个模块,所有 URL 请求的响应都是由 app 来处理
    python manage.py startapp 模块名称
    
  • project:由许多 app 组成

    • 一个 app 可以被用到其他项目

3. URL 与视图函数的映射

  • 修改初始界面

  • urls.py

    from django.http import HttpResponsedef index(request):return HttpResponse("Welcome")urlpatterns = [path("", index),
    ]
    
    • 定义的跳转函数中第一个参数必须为 request

4. URL 的两种传参方式

4.1 通过字符串查询

  • book/views.py

    from django.http import HttpResponsedef book_detail_query_string(request):  # 通过字段查询 http://localhost:8000/book?id=3book_id = request.GET.get("id")  # 等同于 request.GET["id"] 但是 get 方法更加安全,当属性不存在时会返回 None 而不是抛出异常return HttpResponse(f"book id: {book_id}")
    
  • urls.py

    from book import viewsurlpatterns = [path("book", views.book_detail_query_string),
    ]
    

4.2 在 path 中携带

  • book/views.py

    from django.http import HttpResponsedef book_detail_path_variable(request, book_id):  # 在 path 中携带参数 http://localhost:8000/book/3return HttpResponse(f"book id: {book_id}")
    
  • urls.py

    from book import viewsurlpatterns = [path("book/<int:book_id>", views.book_detail_path_variable),  # 添加数据类型限制输入,并限定views.py接收到的book_id为整形
    ]
    

5. path 函数详解

path(route, view, kwargs=None, name=None)
  • route: 字符串,定义 URL 的路径部分
    • 可以包含变量,例如 <int:my_variable>,以从 URL 中捕获参数并将其传递给视图函数
    • 常用数据类型
      • str:不包含斜杠(/)的非空字符串(默认
      • int:非负整数
      • slug:横杠(-)或下划线(_)与字符或数字组成的字符串
      • uuiduuid 字符串
      • path:非空字符串
  • view: 视图函数,处理与给定路由匹配的请求
    • 可以是一个函数或一个基于类的视图
  • kwargs(可选): 一个字典,包含传递给视图函数的额外关键字参数
  • name(可选): 为 URL 路由指定一个唯一的名称,以便在代码的其他地方引用它
    • 这对于在模板中生成 URL 或在代码中进行重定向等操作非常有用

6. 路由模块化

  • book/urls.py

    from django.urls import path
    from . import viewsapp_name = "book"  # 指定应用名称(命名空间)urlpatterns = [path("list", views.book_list, name="book_list"),path("detail/<int:book_id>", views.book_detail, name="book_detail"),
    ]
    
  • book/views.py

    from django.http import HttpResponsedef book_list(request):return HttpResponse(f"Book list")def book_detail(request, book_id):return HttpResponse(f"Book detail: {book_id}")
    
  • urls.py

    from django.urls import includeurlpatterns = [path("book/", include("book.urls"))
    ]
    

7. 路由反转

  • urls.py

    from django.http import HttpResponse
    from book import views
    from django.urls import reversedef index(request):print(reverse("index"))# /print(reverse("book:book_list")) # 获取 app 中的反转需要使用分号,即 app 名称 : url 名称# /book/listprint(reverse("book:book_detail", kwargs={"book_id": 3}))# /book/detail/3return HttpResponse("Welcome")urlpatterns = [path("", index, name='index'),path("book/", include("book.urls")),
    ]
    
  • reverse() 函数不区分 GETPOST,因此无法处理请求的参数

http://www.yayakq.cn/news/833009/

相关文章:

  • 简单网页设计模板网站成都做微信小程序的公司
  • 网站搭建策略与方法是什么购物网站导航模板
  • 淘宝客网站主题模版wordpress微商授权
  • 网站如何做一张轮播图app定制开发制作
  • 网站 需求文档微商城开发公司
  • 专业的营销型网站企业文化南昌网站建设价格
  • 砀山网站建设常德规划建设局网站
  • 高校网站建设滞后即给做网站又给我们做推广的公司呢
  • 网站开发课程设计总结wordpress配置多语言
  • 建设银行海淀支行 网站一级a做爰小说免费网站
  • 公司百度网站怎么做wordpress上传慢
  • 巢湖网站建设公司网页设计与制作课程标准构建
  • 河北省城乡与建设厅网站手机自助网站建设
  • 护肤品网站制作 网新科技广州最近流行传染疾病
  • 台州网站建站服务哪家奿怎么开个人网站赚钱
  • 免费有效的推广网站微信公众号的微网站怎么做
  • 大黔门官方网站建设无锡外贸网站制作
  • 网站建设 月光博客网站开发工作好找吗
  • 温州免费建站比百度更好的网站
  • 营销案例网站购物网站开发流程图
  • 有了域名如何做网站seo网络推广技术员招聘
  • 外贸网站开发网站建设所需基本资料
  • 长春网站seo报价管理咨询公司是做什么的
  • app下载链接重庆seo全网营销
  • 设计师常上的网站十堰网络推广培训
  • 对php网站开发技术课程总结租用网站空间
  • 长沙官网网站推广优化网站怎样防止攻击
  • 网站建设费的摊销期北京住房与城乡建设厅网站首页
  • 做条形图的网站百度网盘私人资源链接
  • 极品wordpress素材教程网站网站开发策划书怎么写