首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在django中基于字符串而不是整数的urls中显示列表视图

在Django中,可以通过基于字符串而不是整数的URL来显示列表视图。这可以通过使用正则表达式来实现。下面是实现这一目标的步骤:

  1. 在项目的urls.py文件中,导入所需的视图类和模块:
代码语言:txt
复制
from django.urls import re_path
from . import views
  1. 创建一个URL模式,使用正则表达式来匹配字符串:
代码语言:txt
复制
urlpatterns = [
    re_path(r'^list/(?P<category>\w+)/$', views.ListView.as_view(), name='list_view'),
]

这里的正则表达式^list/(?P<category>\w+)/$将匹配以list/开头,后跟一个字符串(category),并以斜杠结尾的URL。

  1. 创建一个列表视图类,用于处理URL请求并返回相应的响应:
代码语言:txt
复制
from django.views.generic import ListView

class ListView(ListView):
    model = YourModel
    template_name = 'your_template.html'
    context_object_name = 'object_list'

    def get_queryset(self):
        category = self.kwargs['category']
        # 根据category参数过滤查询集
        queryset = YourModel.objects.filter(category=category)
        return queryset

在这个示例中,我们使用ListView类来创建一个列表视图。model属性指定要在视图中使用的模型,template_name属性指定要渲染的模板,context_object_name属性指定在模板中使用的上下文变量名称。get_queryset()方法根据URL中的category参数过滤查询集。

  1. 创建一个模板文件(your_template.html),用于呈现列表视图的内容:
代码语言:txt
复制
{% for object in object_list %}
    <p>{{ object }}</p>
{% empty %}
    <p>No objects found.</p>
{% endfor %}

在模板中,我们使用循环来遍历查询集中的对象,并将它们呈现为HTML元素。

这样,当访问类似于/list/category1/的URL时,Django将调用列表视图类,并根据URL中的category1参数返回相应的对象列表。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 云数据库 MySQL 版:https://cloud.tencent.com/product/cdb_mysql
  • 云存储(COS):https://cloud.tencent.com/product/cos
  • 人工智能(AI):https://cloud.tencent.com/product/ai_services
  • 云原生应用引擎(TKE):https://cloud.tencent.com/product/tke
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Django url 反向解析 和 命令空间

一旦某个正则表达式与请求URL相匹配,则Django 导入并调用给定视图,该视图仅为一个单纯Python 函数(或者是一个基于视图)。...P[0-9]{4})/$', views.year_archive), ... views.year_archive() year 参数将是一个字符串,即使[0-9]{4} 值匹配整数字符串...当这种情况发生时,将使用字典参数不是URL 捕获参数。 传递额外选项给include() 类似地,你可以传递额外选项给include()。...URL 反向解析¶ 在创建Django 项目时,一个常见需求是如何获得URL最终形式以嵌入到所生成Content(即嵌入到视图中、或URL资源,或者显示给用户URL等)或者用于处理服务器端导航流...' 将是实例命名空间'author-polls' 将是应用命名空间,不是反过来

2.4K30

django入门:视图及模版

前面讲了《环境及项目搭建》《数据模型》,这部分我们终于可以看到些真实东西了,不是数据...数据...数据......创建 django 视图 普通视图 1.首先在应用文件夹下创建 urls.py 文件,用来配置视图 url,然后我们需要在项目下 urls.py 文件中将该应用 urls 配置进去 # 在项目下...def index(request): return HttpResponse("Hello django") 3.在应用下 urls.py 文件中将视图文件配置进去 from django.conf.urls...,支持可选 {% else%} 标签;只有模板变量,字符串整数和小数可以作为 {% ifequal %} 标签参数 {% autoescape %}{% endautoescape %} 关闭代码块自动转义...对于字符串,返回字符串字符个数 safe,当系统设置 autoescaping 打开时候,该过滤器使得输出不进行 escape 转换 striptags,删除 value 所有 HTML 标签

1K20
  • django 1.8 官方文档翻译: 3-1-1 URL调度器

    一旦其中一个正则表达式匹配上,Django 将导入并调用给出视图,它是一个简单Python 函数(或者一个基于视图)。视图将获得如下参数: 一个HttpRequest 实例。.../articles/2003/ 将匹配列表第一个模式不是第二个,因为模式按顺序匹配,第一个会首先测试是否匹配。请像这样自由插入一些特殊情况来探测匹配次序。...P[0-9]{4})/$', views.year_archive), … views.year_archive() year 参数将是一个字符串,即使[0-9]{4} 值匹配整数字符串。...URL 反向解析 在使用Django 项目时,一个常见需求是获得URL 最终形式,以用于嵌入到生成内容视图中和显示给用户URL等)或者用于处理服务器端导航(重定向等)。...’ 将是实例命名空间’author-polls’ 将是应用命名空间,不是反过来

    1.3K20

    Django路由控制URL详解

    导入并调用匹配行给定视图,该视图是一个简单Python函数(被称为视图函数),或基于视图视图将获得如下参数: 一个HttpRequest 实例。...,需要使用尖括号,不是之前圆括号; 可以转换捕获到值为指定类型,比如例子int。...返回一个UUID对象; path:匹配任何非空字符串,重点是可以包含路径分隔符’/‘。这个转换器可以帮助你匹配整个url不是一段一段url字符串。...P[0-9]{2})/$', views.article_detail), ] 这个实现与前面的示例完全相同,只有一个细微差别:捕获值作为关键字参数不是位置参数传递给视图函数。...项目时,一个常见需求是获得URL 最终形式,以用于嵌入到生成内容视图中和显示给用户URL等)或者用于处理服务器端导航(重定向等)。

    1.1K20

    django 1.8 官方文档翻译: 1-2-3 编写你第一个Django应用,第3部分

    哲理 在 Django 应用程序视图是一“类”具有特定功能和模板网页。 例如,在一个博客应用程序,你可能会有以下视图: 博客首页 – 显示最新发表博客。...博客详细页面 – 一篇博客独立页面。 基于年份归档页 – 显示给定年份中发表博客所有月份。 基于月份归档页 – 显示给定月份中发表博客所有日期。...投票功能 – 为一项给定民意调查处理投票选项。 在 Django ,网页及其他内容是由视图来展现每个视图就是一个简单 Python 函数(或方法, 对于基于视图情况下)。...请注意 include() 正则表达式没有 $ (字符串结尾匹配符 match character) 尾部是一个反斜杠。...在 mysite/urls.py 文件 (项目的 urls.py,不是应用) ,修改为包含命名空间定义: from django.conf.urls import patterns, include

    1.8K50

    Django】 Python Web 框架基础

    Django用途 网站后端开发 微信公众号、微信小程序等后台开发 基于HTTP/HTTPS协议后台服务器开发 在线语音/图像识别服务器 在线第三方身份验证服务器等 Django版本 最新版本...port(端口号) 整数,可选,省略时使用方案默认端口; 各种传输协议都有默认端口号, http 默认端口为 80,https 是 443。... URL, 匹配到第一个合适中断后续匹配 匹配成功 - 调用对应视图函数处理请求,返回响应 匹配失败 - 返回404响应 # 主路由-urls.py样例: from django.urls import... ROOT_URLCONF 指定了主路由配置列表 urlpatterns 文件位置 urls.py 主路由配置文件 # file : /urls.py urlpatterns =...如果是text/html,那么就会解析这个字符串,如果text/plain,那么就会显示一个纯文本。

    2.1K20

    Django路由控制

    它告诉Python 这个字符串是“原始” —— 字符串任何字符都不应该转义 示例: 一些请求例子: /articles/2005/03/ 请求将匹配列表第三个模式。.../articles/2003/ 将匹配列表第一个模式不是第二个,因为模式按顺序匹配,第一个会首先测试是否匹配。请像这样自 由插入一些特殊情况来探测匹配次序。...Ppattern),其中name 是组名称,pattern 是要匹配模式。 使用有名分组,可以解决上面,因为视图函数,参数位置变动导致页面显示混乱情况。...反向解析 在使用Django 项目时,一个常见需求是获得URL 最终形式,以用于嵌入到生成内容视图中和显示给用户URL等)或者用于处理服务器端导航(重定向等)。...,因此需要先转化为整数类型变量值,当然year=int(year) 不会有诸如TypeError或者ValueError异常。

    2.8K20

    Django 3.1 官网学习路线

    不同模型字段类型(DateTimeField、CharField)对应于适当 HTML 输入小部件。每种类型字段都知道如何在 Django 管理显示自己。...例如,在一个博客应用程序,您可能有以下视图: 博客首页-显示最近几个条目。 条目“详细信息”页面——一个条目的永久链接页面。 基于年份归档页面——显示给定年份所有月份和条目。...基于月份归档页面——显示给定月份所有天数和条目。 基于归档页面——显示给定天所有条目。 评论操作——处理向给定条目发布评论。...投票行动-处理对特定问题中特定选择进行投票。 在 Django ,Web 页面和其他内容是通过视图传递。每个视图都由一个 Python 函数(或方法,对于基于视图)表示。...使用表格内联(不是 StackedInline),相关对象将以更紧凑基于表格格式显示: 自定义管理员更改列表 现在问题管理页面看起来不错了,让我们对“更改列表”页面做一些调整——这个页面显示系统所有问题

    8.2K10

    Django REST Framework-路由正则表达式

    Django REST Framework(DRF),路由系统是一个重要概念,用于将请求路由到正确视图函数。路由系统使用正则表达式来匹配URL。...路由正则表达式路由正则表达式是一种模式匹配语言,用于确定一个特定URL是否与路由器定义URL模式匹配。在DRF,路由正则表达式是基于Pythonre模块实现。...例如,我们可以使用以下路由模式将GET请求路由到名为“articles”视图函数:from django.urls import pathfrom .views import ArticleViewurlpatterns...示例接下来,我们将通过一些示例来演示DRF路由正则表达式使用。匹配整数假设我们有一个名为“article”视图函数,它需要一个整数参数来指定文章ID。...结论在本文中,我们深入探讨了DRF路由正则表达式,并提供了一些示例来帮助您理解其使用方法。我们讨论了DRF路由中一些特殊字符含义,并演示了如何在URL模式定义整数字符串、日期和可选参数。

    74911

    关于“Python”核心知识点整理大全54

    要修改项目中URL,只需修改urls.py URL模式,这样网页被请求时,Django将自动插入修改后URL。...同样,我们将定义一个新URL模式,编写一个视图并创建一个模板。我们还将修改显示所 有主题网页,让每个项目列表项都是一个链接,单击它将显示相应主题所有条目。 1....r让 Django将这个字符串视为原始字符串,并指出正则表达式包含在引号内。这个表达式第二部分 (/(?...P\d+)/)与包含在两个斜杠内整数匹配,并将这个整数存储在一个名为topic_id 实参。这部分表达式两边括号捕获URL值;?...发现URL与这个模式匹配时,Django将调用视图函数topic(),并将存储在topic_id值作 为实参传递给它。在这个函数,我们将使用topic_id值来获取相应主题。 2.

    17510

    Python Django 编程 | 连载 02 - Django 路由

    Django 项目根目录 urls.py 是根路由,可以集合所有应用路由,每个应用下可以创建自己 urls.py,这个 urls.py 是属于应用独有的路由 路由与视图函数绑定 使用 PyCharm...创建一个新 Django 项目 django_urls_views,并创建 xray 应用,在 xray 应用下 views.py 创建一个视图函数 index(),该函数返回一个字符串。...也可以通过路径本身来传递参数, http://127.0.0.1:8000/xray/index/stark/ URL 参数类型可以是以下几种类型: 字符串类型:匹配任何非空字符串,但不包括斜杠,...在不指定类型前提下,默认字符串类型 整型:匹配 0 和正整数 slug:可以理解为注释、后缀或者负数等概念 uuid:匹配一个 uuid...格式对象 在 Django 2.0 以前是使用正则表达式来匹配路径参数类型 url(r'^add/(?

    1K20

    Django(1)初识Django「建议收藏」

    Django采用了MTV框架模式,即模型Model、模板Template和视图(Views),三者之间各自负责不同职责。...模型:数据存取层,处理与数据相关所有事物,例如如何存取、如何验证有效性、包含哪些行为以及数据之间关系等。 模板:表现层,处理与表现相关决定,例如如何在页面或其他类型文档中进行显示。...,系统扩展性强 Django2新特性 简化URL路由语法:使得Django.urls.path()方法语法更简单。...功能导入由模块Django.urls实现,from Django.urls import include,path,re_path Admin后台系统:支持主流移动设备并新增属性ModelAdmin.autocomplete_fields...()现在返回一个列表,包含插入失败键值 视图类:ContextMixin,extra_context属性允许在View.as_view()添加上下文 Pagination(分页):增加Paginator.get_page

    2.8K20

    Django教程 —— 视图及URL

    request,视图必须返回 HttpResponse 对象,HttpResponse 参数内容会显示在浏览器页面上。...想学正则,推荐 Python玩转正则表达式,看完这篇你就会了,介绍了一些常用表达式,和在线生成正则工具网站。 基于视图 基于视图提供了一种将视图实现为Python对象而非函数替代方法。...它们不能替代基于功能视图,但是与基于功能视图相比具有某些区别和优势: 与特定HTTP方法(GET,POST等)相关代码组织可以通过单独方法不是条件分支来解决。...Django 视图 View 从本质上讲,基于视图使您可以使用不同类实例方法来响应不同 HTTP 请求方法,不是使用单个视图函数有条件分支代码。...return HttpResponse("POST请求 - 图书信息页") 配置URL 因为 Django URL解析器 希望将请求和关联参数发送给可调用函数不是类,所以基于视图具有一个

    72020

    Django 教程 --- Django 基础

    Django是一个基于pythonweb框架,它允许您快速地创建web应用程序,不需要像其他框架那样遇到安装或依赖问题。...,它不需要其他任何东西 它有数以千计额外软件包 它是可扩展 Django架构 Django基于MVT(模型-视图-模板)架构。...试着下载python最新版本,这次是python3.6.4 注意:Django在Linux和Mac安装是类似的,这里我在windows for Linux和Mac展示它,只是打开终端不是命令提示符...让我们探索一下 移至projectName-> projectName-> urls.py并在标题中添加以下代码 from django.urls import include 现在,在网址格式列表,...Django Apps主要特点是独立性,每个app都作为一个独立单元来支持主项目。要了解更多关于Django应用程序,请访问如何在Django创建应用程序?

    3.6K21

    Django快速入门——投票程序(3)视图

    建立url和视图映射: #polls/urls.py from django.urls import path from . import views urlpatterns = [ #...当用户在你网站上请求一个页面,/polls/34/,Django会加载mysite.urls模块(因为这是 ROOT_URLCONF设置)。...question_id 定义了参数名称,int是一种转换形式,用来确定应该匹配网址路径什么模式(这里使用int表示整数,另一个常用是str表示字符串)。冒号 (:) 将两者分隔。...函数其它部分(处理数据)由你决定。 我们修改了index函数,获取数据库中最近5个问题并显示。...模板命名空间 虽然我们现在可以将模板文件直接放在 polls/templates 文件夹不是再建立一个 polls 子文件夹),但是这样做不太好。

    23720

    Django视图

    注意点 在项目的urls.py中进行包含配置,在各自应用创建具体配置。 定义urlpatterns列表,存储url()对象,这个名称是固定。   ...可以在匹配过程从url捕获参数,每个捕获参数都作为一个普通python字符串传递给视图。...内置错误视图 Django内置处理HTTP错误视图,主要错误及视图包括: 404错误:page not found视图 500错误:server error视图 如果想看到错误视图不是调试信息,需要修改项目的...上去 4.2 子类HttpResponseRedirect 当一个逻辑处理完成后,不需要向客户端呈现数据,而是转回到其它页面,添加成功、修改成功、删除成功后显示数据列表数据列表视图已经开发完成,...Cookie基于域名安全,不同域名Cookie是不能互相访问访问itcast.cn时向浏览器写了Cookie信息,使用同一浏览器访问baidu.com时,无法访问到itcast.cn写Cookie

    4.5K20

    Django搭建blog网站(一)

    可以看到 all 方法都返回了数据,这些数据应该是我们之前存进去,但是显示字符串有点奇怪,无法看出究竟是不是我们之前存入数据。...此外 include 前还有一个 r'',这是一个空字符串。这里也可以写其它字符串Django 会把这个字符串和后面 include urls.py 文件 URL 拼接。...同样我们需要对 Django 做一些必要配置,才能让 Django 知道如何在开发服务器引入这些 CSS 和 JavaScript 文件,这样才能让博客页面的 CSS 样式生效。...这里面包裹内容显示就是文章数据了。我们前面在视图函数 index 里给模板传了一个 post_list 变量,它里面包含着从数据库取出文章列表数据。...代码,不是经浏览器渲染后格式)。

    5.7K91

    二、路由、模板

    一、路由系统 在settings.py文件通过ROOT_URLCONF指定根级url配置 urlpatterns是一个url()实例列表 一个url()对象包括: 正则表达式 视图函数 名称name...编写URLconf注意: 若要从url捕获一个值,需要在它周围设置一对圆括号 不需要添加一个前导反斜杠,应该写作'test/',不应该写作'/test/' 每个正则表达式前面的r表示字符串不转义...URL反向解析 如果在视图、模板中使用硬编码链接,在urlconf发生改变时,维护是一件非常麻烦事情 解决:在做链接时,通过指向urlconf名称,动态生成链接地址视图:使用from django.urls...,该语言可以实现数据展示 1 列表,字典,类实例使用 2 3 循环:迭代显示列表,字典等内容 4 5 条件判断:判断是否显示该内容,比如判断是手机访问,还是电脑访问,给出不一样代码。...a、一般变量之类用 {{ }}(变量) {{ item }} b、循环:迭代显示列表,字典等内容 {% for item in item_list %}  {{ item }}

    1.8K80

    Django入门

    ,然后逐级返回,视图函数把返回数据填充到模板空格,最后返回网页给用户 四、Django基本命令 下载 cmd命令行:pip3 install django,或可以指定版本号下载:pip3...()来捕获URL值,分组之后,会把分组出来数据,当位置参数,传到视图函数,所以,视图函数需要定义形参 from django.urls import path,re_path from app01...), str, # 匹配除了路径分隔符(/)之外非空字符串,这是默认形式 int, # 匹配正整数,包含0。...return JsonResponse(ll) # 支持列表形式 return JsonResponse(ll,safe=False) CBV和FBV CBV:基于视图...empty for 标签带有一个可选{% empty %} 从句,以便在给出组是空或者没有被找到时,可以有所操作,执行empty之后语句 {# 循环对象是空,才会走到empty,不是对象里面的东西为空

    2.2K11
    领券