千家信息网

Django中怎么请求HTML页面视图信息

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,Django中怎么请求HTML页面视图信息,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1. 编写用于查询数据的功能函数应用目录 下的
千家信息网最后更新 2025年02月01日Django中怎么请求HTML页面视图信息

Django中怎么请求HTML页面视图信息,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

1. 编写用于查询数据的功能函数

应用目录 下的 views.py 文件通常用于保存响应各种请求的函数或类

from django.shortcuts import renderfrom .models import BlogArticles# Create your views here.def blog_title(request): # request 负责响应所接收到的请求    # 查询得到所有 BlogArticles 表中的所有实例数据    blogs = BlogArticles.objects.all()    """    render() 作用是将数据渲染到指定模板上    "blog/titles.html" 指定渲染到哪个页面,页面路径为应用目录下的templates目录    {"blogs": blogs} 为传给页面的数据    """    return render(request, "blog/titles.html", {"blogs": blogs})

2. 在应用目录下创建相关html页面文件

  • 文件目录结构如下:

  • 编写相关页面代码

                  {% block title %}{% endblock %}                     
{% block content %} {% endblock %}
{% extends "base.html" %} {% block title %}博客标题{% endblock %}{% block content %}

我的博客

    {% for blog in blogs %}
  • {{ blog.title }}
  • {% endfor %}
{% endblock %}

3. 配置URL

  1. 编写 项目目录 下的 urls.py 文件

from django.contrib import adminfrom django.urls import path, includeurlpatterns = [    path('admin/', admin.site.urls),    path("blog/", include('blog.urls')), # 通过这里将blog/请求转向blog应用的urls.py,即./blog/urls.py文件]
  1. 编写 应用目录 下的 urls.py 文件

from django.urls import pathfrom . import views"""第一个参数为空,表示访问根,因为该文件在blog应用中,则要为blog/views.blog_title 表示响应该请求的函数"""urlpatterns = [    path('', views.blog_title),]
  1. 启动项目访问:http://127.0.0.1:8000/blog/ 即可看到结果

4. 给url传参数

  1. 修改 titles.html 文件给文章标题添加链接

{% for blog in blogs %}
  • {{ blog.title }}
  • {% endfor %}
    1. 为该请求编写对应的函数(./blog/views.py)

    def blog_article(request, article_id): # 该请求传入 article_id 参数    article = BlogArticles.objects.get(id=article_id)    pub = article.publish    return render(request, "blog/content.html",{"article":article, "publish":pub})
    1. 编写显示文件内容的html页面(templates/blog/content.html)

    {% extends "base.html" %} {% block  title %}博客标题{% endblock %}{% block content %}    

    {{ article.title }}

    {{ article.author.username }} {{ publish }}

    {{ article.body }}
    {% endblock %}
    1. 增加请求所对应的url(./blog/urls.py)

    urlpatterns = [    path('', views.blog_title),    path('/', views.blog_article),]

    URL配置和查询

    当用户通过浏览器请求某个URL时,Django会根据请求路径依次在URLConf中查询,并将第一个符合条件的映射关系作为查询结果。

    例如,访问 http://localhost:8000/blog/1,其请求过程如下:

    1. localhost:8000:主域名部分,不进行查询

    2. /blog/:首先在 项目目录/urls.py 中查询,遇到符合条件的URL映射(path('blog/', include('blog.urls')),),根据此映射中的描述,到 blog.urls(./blog/urls.py) 中查询

    3. /1:在 ./blog/urls.py 中有URL(path('/', views.blog_article))配置,请求路径正好符合,从而确定最终访问的视图函数 views.blog_article

    看完上述内容,你们掌握Django中怎么请求HTML页面视图信息的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

    0