【问题标题】:How to access database items with dynamic URLs如何使用动态 URL 访问数据库项目
【发布时间】:2021-03-12 18:23:53
【问题描述】:

如何使我的网站在访问 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

【问题讨论】:

标签: python django django-models django-urls


【解决方案1】:

您可以创建一个接受参数的路径,例如:

path('<b>&lt;int:pk&gt;</b>/', <i>some_view</i>, name='<i>some_view</i>'),

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的(属性):

{{ <b>item</b> }}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-17
    • 1970-01-01
    • 1970-01-01
    • 2013-05-26
    • 2017-04-20
    • 1970-01-01
    • 2021-07-26
    相关资源
    最近更新 更多