首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在django中,/<int:id>不重定向到html

在django中,/<int:id>不重定向到html
EN

Stack Overflow用户
提问于 2021-07-03 04:13:56
回答 2查看 179关注 0票数 1

因此,我在html中有一个图像重定向到某个url:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<div class="image">
                    <a href="/accounts/startlistening/{{i.song_id}}">
                    <img src="{{i.image.url}}">
                </a>
                </div>

这里,i.song_id给出了一个整数值。

url.py是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
urlpatterns = [
    url('register/', views.registration, name="signup"),
    url('login/', views.loginUser, name="login"),
    url('logout/', views.logoutUser, name="logout"),
    url('upload/', views.upload, name="upload"),
    url('startlistening/', views.startlistening, name="startlistening"),
    url('startlistening/<int:id>', views.player, name="player") 
]

我的球员的views.py是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def player(request, id):
    song = Song.objects.filter(song_id = id).first()
    return render(request, 'accounts/player.html',{'song':song})

但出于某些原因,在运行服务器上,单击图像时,它会更改url,但不会重定向到player.html,例如:单击它时,它从http://127.0.0.1:8000/accounts/startlistening/更改为http://127.0.0.1:8000/accounts/startlistening/17,但内容是相同的。

编辑:在我将所有url更改为urls.py中的路径后工作

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-07-03 07:14:52

您已经使用了旧的url function (自从Django 3.1就不再推荐使用re_path了,如果需要regex的话,应该使用re_path)而不是path function。因此,这里所发生的是您的模式startlistening/与字符串startlistening/17匹配,您可以通过尝试下面的代码片段来看到这一点:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print(re.search(r'startlistening/', 'startlistening/17')) # returns a match

此外,<int:id>在使用url / re_path函数时不会生成捕获组,因此这种模式也是不正确的。

您的所有模式都是像使用path函数一样设计的,因此您应该改为使用它:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from django.urls import path

urlpatterns = [
    path('register/', views.registration, name="signup"),
    path('login/', views.loginUser, name="login"),
    path('logout/', views.logoutUser, name="logout"),
    path('upload/', views.upload, name="upload"),
    path('startlistening/', views.startlistening, name="startlistening"),
    path('startlistening/<int:id>/', views.player, name="player") 
]

在模板中的下一步,只需编写:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<a href="{% url 'player' i.song_id %}">

如果您想使用url (您可能有一个较旧版本的Django (请升级),否则不建议使用),您可以重写模式如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# You might also want to add a "^" to the start of the patterns, or if these patterns are included  somewhere add it to the start of the root pattern.
urlpatterns = [
    url('register/$', views.registration, name="signup"),
    url('login/$', views.loginUser, name="login"),
    url('logout/$', views.logoutUser, name="logout"),
    url('upload/$', views.upload, name="upload"),
    url('startlistening/$', views.startlistening, name="startlistening"),
    url('startlistening/(?P<id>\d+)/$', views.player, name="player") 
]
票数 0
EN

Stack Overflow用户

发布于 2021-07-03 04:39:13

将url序列更改为

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
path('startlistening/<int:id>', views.player, name="player"),
path('startlistening/', views.startlistening, name="startlistening")

或者更明确的东西,比如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
path('player/<int:id>', views.player, name="player"),
path('startlistening/', views.startlistening, name="startlistening")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68236171

复制
相关文章
Anbox:在 Linux 上运行 Android 应用程序的简单方式
Anbox 是 “Android in a box” 的缩写。Anbox 是一个基于容器的方法,可以在普通的 GNU/Linux 系统上启动完整的 Android 系统。
用户8639654
2021/09/23
5.2K0
7个有用的Pandas显示选项
andas是一个在数据科学中常用的功能强大的Python库。它可以从各种来源加载和操作数据集。当使用Pandas时,默认选项就已经适合大多数人了。但是在某些情况下,我们可能希望更改所显示内容的格式。所以就需要使用Pandas的一些定制功能来帮助我们自定义内容的显示方式。
deephub
2023/02/01
1.3K0
使枚举类型的选项在VS的属性窗里显示为中文
我们自己做的组件,一般希望它的属性在设计时能够在属性窗里显示为中文,可以在属性上添加System.ComponentModel.DisplayNameAttribute标注达到这个目的。但是,枚举的选项如何以中文的形式显示在属性窗里呢?
明年我18
2019/09/18
1.2K0
使枚举类型的选项在VS的属性窗里显示为中文
Spring Boot 如何以 Web 应用的方式启动
https://www.cwiki.us/display/SpringBootZH/questions/57938770
HoneyMoose
2020/04/04
4510
Spring Boot 如何以 Web 应用的方式启动
带有-i选项的sed命令在Linux上执行成功,但在MacOS上失败
就地编辑文件(如果提供了后缀,则进行备份),可见参数后缀 SUFFIX 是可选的,即带或者不带这个参数都可以执行。
程序熵
2023/09/25
3770
带有-i选项的sed命令在Linux上执行成功,但在MacOS上失败
EXCEL单元格的引用方式
EXCEL单元格的引用包括相对引用、绝对引用和混合引用三种。 相对引用   公式中的相对单元格引用(例如 A1)是基于包含公式和单元格引用的单元格的相对位置。如果公式所在单元格的位置改变,引用也随之改变。如果多行或多列地复制公式,引用会自动调整。默认情况下,新公式使用相对引用。例如,如果将单元格 B2 中的相对引用复制到单元格 B3,将自动从 =A1 调整到 =A2。 绝对引用   单元格中的绝对单元格引用(例如 $A$1)总是在指定位置引用单元格。如果公式所在单元格的位置改变,绝对引用保持
用户1075292
2018/01/23
1.4K0
将jpeg图片显示在framebuffer上
点击(此处)折叠或打开 /************************************************** * example5.c * Author: T-bagwell * * Compile:gcc -Wall example5.c -o example5 *************************************************/ #include <stdio.h> #inclu
用户3765803
2019/03/05
1.2K0
跳跃表---用简单的方式实现有序集合
遍历整个链表,时间复杂度为O(n),例如我们向查找7,即node4,需要4次查找
用户3946442
2022/04/11
4230
跳跃表---用简单的方式实现有序集合
[ASP.NET Core 3框架揭秘] Options[2]: 配置选项的正确使用方式[下篇]
前面演示的几个实例具有一个共同的特征,即都采用配置系统来提供绑定Options对象的原始数据,实际上,Options框架具有一个完全独立的模型,可以称为Options模型。这个独立的Options模型本身并不依赖于配置系统,让配置系统来提供配置数据仅仅是通过Options模型的一个扩展点实现的。在很多情况下,可能并不需要将应用的配置选项定义在配置文件中,在应用启动时直接初始化可能是一种更方便快捷的方式。
蒋金楠
2020/02/12
9320
显示器 设置选项 解析
明亮度 Gama:显示器的输出图像对输入信号的失真程度。 DCR:Dynamic Contrast Ratio,动态对比率。自动判断画面整体亮度,对画面各部分进行亮度调整,使细节更清晰,层次更分明。 颜色设置 色温 暖色 正常 冷色 sRGB:RGB(色彩空间)的一种标准。 DCB模式 OSD设置 其他 DDC/CI:Display Data Channel Command Interface,基于DDC/CI协议,用户可以通过鼠标和人性化的软件界面来完成显示器的各项设置和色彩调节,
JNingWei
2018/09/28
1.6K0
直接iframe方式在网页上显示天气插件
天气预报调用网址(可定制):http://www.tianqi.com/plugin/
科控物联
2023/09/22
1.4K0
直接iframe方式在网页上显示天气插件
PageRank算法在spark上的简单实现
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wzy0623/article/details/51383232
用户1148526
2019/05/25
1.5K0
Excel表格的35招必学秘技[配图]
一、让数据按需排序   如果你要将员工按其所在的部门进行排序,这些部门名称既的有关信息不是按拼音顺序,也不是按笔画顺序,怎么办?可采用自定义序列来排序。   1.执行“格式→选项”命令,打开“选项”
ytkah
2018/03/06
7.6K0
Excel表格的35招必学秘技[配图]
显示方式
08.05自我总结 一.显示方式 1.display 常用的三种方式 #第一种block 1.支持设置宽高 2.自带换行 一般情况所有有宽高、参与位置布局的都是block #第二种inline 1.不支持设置宽高,宽高只能有文本撑开 2.不带换行,一行显示不下会自动换行(保留数据的整体性) 一般情况存放文本的 #第三种inline-block 1.支持设置宽高 2.不带换行,一行显示不下会自动换行(以标签整体换行,标签左右有间距) 一般情况不去主动设置该显示方式,系统的两个img、input都设置为了单
小小咸鱼YwY
2019/09/11
6530
支持公式的3款Excel替代品
随着大数据、企业数字化转型等不可逆趋势的推动下,似乎一切变得皆可量化和数据化,企业在解决问题时,也更为倾向于以数据表格来作为判断决策是否正确的重要标志,这时具有数据思维和数据分析处理技能,成了当前及未来人才发展不可忽视的能力之一。今天给大家带来3款Excel替代品的对比,由大家来评判一下。
用户10264843
2023/02/09
3.5K0
[ASP.NET Core 3框架揭秘] Options[1]: 配置选项的正确使用方式[上篇]
依赖注入不仅是支撑整个ASP.NET Core框架的基石,也是开发ASP.NET Core应用采用的基本编程模式,所以依赖注入十分重要。依赖注入使我们可以将依赖的功能定义成服务,最终以一种松耦合的形式注入消费该功能的组件或者服务中。除了采用依赖注入的形式消费承载某种功能的服务,还可以采用相同的方式消费承载配置数据的Options对象。
蒋金楠
2020/02/12
1.1K0
mapboxGL卷帘实现
卷帘对比是webgis中常见的一种对比方式,本文讲述一下如何在mapboxGL中实现卷帘对比。
牛老师讲GIS
2021/09/10
1.8K0
在ListView上使用自定义的Adapter
需要实现的东西是: 一个DataListViewAdapter,当进行如下调用时,就能在列表上显示出数据:
LeoXu
2018/08/15
9700
点击加载更多

相似问题

如何以编程方式在自定义单元格上添加自定义视图?

11

简单产品上的自定义选项无法在订单上显示

31

如何以简单的方式显示加载指示器?

211

简单的Kivy手势(卷帘)

10

如何以简单的方式在Mac上安装gst (gstreamer绑定)?

27
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文