gpt4 book ai didi

python - 如何在 Django 中创建人类可读的 URL

转载 作者:行者123 更新时间:2023-12-01 09:31:17 26 4
gpt4 key购买 nike

我正在写一个简单的应用程序博客。
Django==2.0.4
我想创建人类可读的 URL。
models.py

class Post(models.Model):
author = models.ForeignKey('auth.User', on_delete=models.CASCADE)
title = models.CharField(max_length=200)
text = models.TextField()
created_date = models.DateTimeField(
default=timezone.now)
published_date = models.DateTimeField(
blank=True, null=True)

对于这个模型,我将添加 slug = models.SlugField('id_url', max_length=255, unique=True) ,对吧?
接下来,我将添加到网址

urlpatterns = [
path(r'', views.post_list, name='post_list'),
path(r'post/<str:slug>/', views.post_detail, name='post_detail'),
]

对吗?
但我不明白我需要添加到 views.py 中,并且需要或不需要我 def get_absolute_url(self)models.py 中,我希望你能帮助我。谢谢。

最佳答案

在你的模型中你会想要

def get_absolute_url(self):
return '/post/%s' % (self.slug)

def get_absolute_url(self):
return redirect('post_detail', slug=self.slug)

在您的 View 中,您可以像平常一样编写:

def post_detail(request):
#do something
return render(request, 'post-detail.html', context)

关于python - 如何在 Django 中创建人类可读的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49954831/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com