鱼C论坛

 找回密码
 立即注册
查看: 1717|回复: 16

[已解决]小白求助django问题

[复制链接]
发表于 2023-4-20 17:46:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
跳转网页传递参数,但是传的参数是IP,另一个例子传的是数字就不会报错
错误代码

Page not found (404)
Request Method:        GET
Request URL:        http://127.0.0.1:8000/ip/10.116.4.247/edit/
Using the URLconf defined in bysms.urls, Django tried these URL patterns, in this order:
ip/list/
ip/<int:nid>/edit/
The current path, ip/10.116.4.247/edit/, didn’t match any of these.

You’re seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 404 page.

部分代码
HTML的
<a class="btn btn-primary btn-xs" href="/ip/{{ obj.ip_address }}/edit/">修改信息</a>

urls的
path('ip/<int:nid>/edit/', views.ip_edit),

views的
def ip_edit(request, nid):
    if request.method == "GET":
        row_object = models.ipinfo.objects.filter(ip_address=nid).first()
        return render(request, "ip_edit.html", {"row_object": row_object})
求大佬解答谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-4-20 17:51:27 | 显示全部楼层
你好!很高兴能帮助你解决Django问题。从你提供的错误信息和代码来看,问题出在URL配置。因为你的URL中传递的是IP地址而不是整数,所以`<int:nid>`在这里不适用。你需要修改一下你的URL配置来匹配IP地址。

首先,我们需要在`urls.py`中更新URL模式。可以使用`<str:nid>`来代替`<int:nid>`,这样可以匹配IP地址这样的字符串:
path('ip/<str:nid>/edit/', views.ip_edit),

然后,你需要在`views.py`中的`ip_edit`视图中相应地修改参数:
def ip_edit(request, nid):
    if request.method == "GET":
        row_object = models.ipinfo.objects.filter(ip_address=nid).first()
        return render(request, "ip_edit.html", {"row_object": row_object})

这样,你的视图就可以接收IP地址字符串作为参数了。注意,这里的`nid`现在是一个字符串,你不需要对其进行类型转换。

如果你还有其他问题,欢迎继续提问!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-20 17:54:43 | 显示全部楼层
根据错误信息来看,您的 url 路径参数是 10.116.4.247,但是 views.ip_edit() 函数中接收的参数却是一个整数类型的 nid。因此,需要将路由配置中 <int:nid> 部分修改为 <str:nid>,以便可以正确地接收 IP 地址作为字符串类型的参数。
换句话说,你的IP是xxx.xxx.xxx.xxx,但是views.ip_edit希望这是整数。ip只能用字符串的形式接收
修改后的示例代码如下:
HTML的
<a class="btn btn-primary btn-xs" href="/ip/{{ obj.ip_address }}/edit/">修改信息</a>
urls的
path('ip/<str:nid>/edit/', views.ip_edit),
views的
def ip_edit(request, nid):
    if request.method == "GET":
        row_object = models.ipinfo.objects.filter(ip_address=nid).first()
        return render(request, "ip_edit.html", {"row_object": row_object})
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-20 17:55:22 | 显示全部楼层
回复审核去了,等待片刻
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-20 17:56:03 | 显示全部楼层
歌者文明清理员 发表于 2023-4-20 17:55
回复审核去了,等待片刻

我的回复排在你前面
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-20 17:56:58 | 显示全部楼层
isdkz 发表于 2023-4-20 17:56
我的回复排在你前面


都去审核了??
我有证据
temp.PNG
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-20 17:57:54 | 显示全部楼层
被审核了,简单说一下问题,ip不是一个整数,而是字符串,应该要用 <str:nid>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-20 17:58:06 | 显示全部楼层
isdkz 发表于 2023-4-20 17:57
被审核了,简单说一下问题,ip不是一个整数,而是字符串,应该要用


???@不二如是
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-20 17:58:56 | 显示全部楼层

应该是这个帖子有哪个敏感词,他的帖子也是审核后才放出来的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-20 18:00:34 | 显示全部楼层    本楼为最佳答案   
temp.PNG
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-20 18:01:40 | 显示全部楼层
isdkz 发表于 2023-4-20 17:58
应该是这个帖子有哪个敏感词,他的帖子也是审核后才放出来的



跳转网页传递参数,但是传的参数是IP,另一个例子传的是数字就不会报错
错误代码

Page not found (404)
Request Method:        GET
Request URL:        http://127.0.0.1:8000/ip/10.116.4.247/edit/
Using the URLconf defined in bysms.urls, Django tried these URL patterns, in this order:
ip/list/
ip/<int:nid>/edit/
The current path, ip/10.116.4.247/edit/, didn’t match any of these.

You’re seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 404 page.

部分代码
HTML的
<a class="btn btn-primary btn-xs" href="/ip/{{ obj.ip_address }}/edit/">修改信息</a>

urls的
path('ip/<int:nid>/edit/', views.ip_edit),

views的
def ip_edit(request, nid):
    if request.method == "GET":
        row_object = models.ipinfo.objects.filter(ip_address=nid).first()
        return render(request, "ip_edit.html", {"row_object": row_object})
求大佬解答谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-20 18:02:47 | 显示全部楼层
isdkz 发表于 2023-4-20 17:58
应该是这个帖子有哪个敏感词,他的帖子也是审核后才放出来的

我复制了他的帖子,也审核了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-20 18:02:58 | 显示全部楼层

不要重复我说过的,说个不一样的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-20 18:08:41 | 显示全部楼层
isdkz 发表于 2023-4-20 18:02
不要重复我说过的,说个不一样的

tempilovefishc.PNG
所以最佳给谁
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-20 18:10:47 | 显示全部楼层

我去,不讲武德,你还卖惨
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-20 18:11:13 | 显示全部楼层
isdkz 发表于 2023-4-20 18:10
我去,不讲武德,你还卖惨


你不是要说来一个不一样的吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-4-20 20:09:24 | 显示全部楼层
谢谢两位大佬了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-23 15:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表