第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何在 url django 中添加用戶名

如何在 url django 中添加用戶名

慕桂英3389331 2023-07-18 10:10:47
這是 Django 新手,這是一個(gè)簡(jiǎn)單的博客文章應(yīng)用程序。如何在 url 中包含帖子作者的姓名? urlpatterns = [        path('post/<int:pk>/', PostDetailView.as_view(), name='post-detail'),    ]后模型class Post(models.Model):    author = models.ForeignKey(User, on_delete=models.CASCADE)    title = models.CharField(max_length=100, blank="true")    content = models.CharField(max_length=400)views.pyclass PostDetailView(DetailView):    model = Post 
查看完整描述

1 回答

?
PIPIONE

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超9個(gè)贊

您可以添加一個(gè)額外的參數(shù):


urlpatterns = [

? ? path('post/<str:author>/<int:pk>/', PostDetailView.as_view(), name='post-detail'),

]

在視圖中,您可以對(duì)作者進(jìn)行過(guò)濾,如果作者的用戶名不正確,則不會(huì)顯示任何內(nèi)容:


class PostDetailView(DetailView):

? ? model = Post


? ? def get_queryset(self, *args, **kwargs):

? ? ? ? return super().get_queryset(*args, **kwargs).filter(

? ? ? ? ? ? author__username=self.kwargs['author']

? ? ? ? )

我們可以使用[Django-doc] 方法Post生成一個(gè)對(duì)象的 URL?,其中包含作者的用戶名:.get_absolute_url()

from django.urls import reverse


class Post(models.Model):

? ? author = models.ForeignKey(User, on_delete=models.CASCADE)

? ? title = models.CharField(max_length=100, blank="true")

? ? content = models.CharField(max_length=400)


? ? def get_absolute_url(self):

? ? ? ? return reverse('post-detail', kwargs={'id': self.pk, 'author': self.author.username})

注意:通常使用settings.AUTH_USER_MODEL[Django-doc]來(lái)引用用戶模型比直接使用User模型 [Django-doc]更好。

查看完整回答
反對(duì) 回復(fù) 2023-07-18
  • 1 回答
  • 0 關(guān)注
  • 154 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)