python - 如何使用动态 URL 访问数据库项目
问题描述
如何使我的网站在我访问 url 'mywebsite.com/1/' 时,会显示一个 ID 为 '1' 的数据库项目?我找到的所有教程都是用于在旧版本的 Django 中设置“urls.py”,而不是如何制作动态 url。
这是我的模型:
from django.db import models
# Create your models here.
class video (models.Model):
VID_CHOICES = (
('News', 'News'),
('Stam', 'Stam'),
('Music', 'Music'),
('Ad', 'Ad'),
)
url = models.CharField(max_length=1000)
title = models.CharField(max_length=100)
description = models.CharField(max_length=1000, blank=True)
show_after_time = models.DateTimeField('show after')
category = models.CharField(max_length=20, choices=VID_CHOICES)
tag = models.CharField(max_length=100, blank=True)
def __str__(self):
return self.title
解决方案
您可以创建一个接受参数的路径,例如:
path('<int:pk>/', some_view, name='some_view'),
在 中some_view
,还有一个额外的参数pk
,它将在路径中输入的值作为int
:
from django.shortcuts import get_object_or_404, render
def some_view(request, pk):
item = get_object_or_404(MyModel, pk=pk)
return render(request, 'app_name/some_template.html', {'item': item})
然后在模板中,您可以渲染的(属性)item
:
{{ item }}
推荐阅读
- java - 使用java将邮件发送到internetAddress数组时出错
- r - 当带有单引号的随机种子集在 RNGKind("L'Ecuyer-CMRG") 中使用时,Azure 数据工作室 R 代码执行失败
- python - Python-Pyinstaller - 转换为 .exe 后从不同目录运行时无法正确获取文件路径
- google-photos-api - Google Photos API 自定义内容过滤器
- reactjs - React Native OneSignal 库中的 iOS 模拟器部署目标问题
- r - 使用来自不同平台的绘图制作 2x2 绘图布局
- rxjs - Rxjs 运算符延迟不会延迟发出的值
- slider - 如何在滑块下方显示闪电滑块的输出值
- javascript - 隐藏在ajax成功后点击的html元素
- amazon-web-services - 如何在 AWS Cloud Formation 中实施嵌套堆栈?