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

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

Django根據(jù)不同的用戶組部分限制內(nèi)容

Django根據(jù)不同的用戶組部分限制內(nèi)容

梵蒂岡之花 2021-05-14 09:20:41
上周剛開始使用Django,我正面臨有關(guān)兩種類型的用戶(普通用戶和VIP用戶)以及如何限制普通用戶查看VIP內(nèi)容的問題。我正在將Django與MySQL配合使用。我的網(wǎng)站不需要用戶注冊,但我將為他們提供用戶名/密碼。我通過Django管理員手動創(chuàng)建用戶,并根據(jù)VIP或普通用戶對其進(jìn)行分組。我將上載內(nèi)容(同樣通過admin),并且我有一個(gè)布爾復(fù)選框,該復(fù)選框確定它是否是VIP內(nèi)容。到目前為止,我所做的是:用戶必須登錄才能查看內(nèi)容登錄后,VIP可以看到VIP內(nèi)容,普通用戶將無法看到VIP內(nèi)容。FAQ.html{% extends 'base.html' %}...skipping...{% for faqs in fq reversed %}<a href="{% url 'faq_topics' faqs.pk %}">{{ faqs.name }}</a>{{ endfor }}faq_topics.html<h2>{{ faqs.name }}</h2><h6 style="padding: 20px 20px 20px 20px">{{ faqs.description|linebreaksbr }}</h6>urls.pyurlpatterns = [path('faq/', views.faq, name='faq'),url(r'^faq/(?P<pk>\d+)/$', views.faq_topics, name='faq_topics'),]views.pydef is_user(user):    return user.groups.filter(name='User').exists()def is_vip(user):    return user.groups.filter(name='VIP').exists()@login_required@user_passes_test(is_user)def faq(request):    fq = FAQ.objects.filter(vip_only=False)    return render(request, 'faq.html', {'fq':fq})models.pyclass FAQ(models.Model):    name = models.CharField(max_length=30, unique=True)    description = models.CharField(max_length=300)    vip_only = models.BooleanField(default=False)錯(cuò)誤案例進(jìn)行了3個(gè)FAQ條目,第一個(gè)被歸類為VIP。普通用戶登錄到“常見問題”部分時(shí),他/她只會看到2個(gè)內(nèi)容歡迎來到常見問題解答部分127.0.0.1:8000/faq/3/127.0.0.1:8000/faq/2/但是,用戶可以輕松地猜測faq / 1 /存在,并且當(dāng)他們實(shí)際嘗試時(shí),他們也可以訪問vip內(nèi)容。在過去的兩天里,我一直在網(wǎng)上搜索內(nèi)容,我將學(xué)習(xí)如何使用@user_passes_test來限制用戶和objects.filter(vip_only = False)來限制內(nèi)容。另外,我希望我的views.py控制兩種用戶的內(nèi)容,但我尚未實(shí)現(xiàn)。如果有人可以教我如何在一個(gè)模板中實(shí)現(xiàn)“ 2個(gè)視圖”,將不勝感激。
查看完整描述

1 回答

  • 1 回答
  • 0 關(guān)注
  • 294 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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