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

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

如何設(shè)置 url 的權(quán)限

如何設(shè)置 url 的權(quán)限

臨摹微笑 2023-09-26 16:39:59
我是 Django 新手,我已經(jīng)實現(xiàn)了一個有效的表單,現(xiàn)在我想在 URL 上設(shè)置權(quán)限。提交表單后,它會將我重定向到此 URLhttp://127.0.0.1:8000/success/無需提交表單,我可以手動輸入 URL 名稱http://127.0.0.1:8000/success/,它會將我?guī)У酵豁撁妗H绾卧O(shè)置“成功”網(wǎng)址的權(quán)限,以便用戶無法手動查看頁面,除非表單有效并提交?我需要一個裝飾器嗎?模型:class Profile(models.Model):    user = models.OneToOneField(settings.AUTH_USER_MODEL,on_delete=models.CASCADE,blank=True,null=True)     profile_pic = models.ImageField(upload_to='ProfilePicture/', default="ProfilePicture/avatar.png", blank=True)       phone = models.IntegerField(default='0', blank=True)    email = models.EmailField(blank=True)    date_of_birth = models.CharField(max_length=50, blank=True)    address = models.TextField(blank=True)    date = models.DateTimeField(auto_now_add=True)      class Meta:        verbose_name = 'Profile'        verbose_name_plural = 'Profiles'        ordering = ['-date']    '''Method to filter database results'''    def __str__(self):        return self.user.usernameclass CotCode(models.Model):    user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)    cot_code = models.IntegerField(default='0', blank=True)    date = models.DateTimeField(auto_now_add=True)     class Meta:        verbose_name = 'CotCode'        verbose_name_plural = 'CotCode'        ordering = ['-date']    def __str__(self):        return self.user.username網(wǎng)址:path('cot/', TransferCOTView, name='transfer_cot'),path('success/', SuccessfulView, name='successful_trans'),瀏覽次數(shù):@login_requireddef TransferCOTView(request):    form = CotCodeForm(request.POST)    if request.method == "POST":        if form.is_valid():            cot_code = form.cleaned_data.get('cot_code')        try:            match = CotCode.objects.get(cot_code=cot_code)            return redirect('site:successful_trans')        except CotCode.DoesNotExist:             messages.info(request, "Wrong code")
查看完整描述

1 回答

?
呼啦一陣風

TA貢獻1802條經(jīng)驗 獲得超6個贊

一個簡單的選項是設(shè)置一個會話變量,通知表單已發(fā)布且有效,并在顯示成功頁面之前檢查它。請參閱此處的會話示例https://docs.djangoproject.com/en/3.1/topics/http/sessions/#examples


例如


def formview(request):

    # process form

    request.session["form_filled"] = True

    # redirect to success


def success(request):

    if not request.session.get("form-filled"):

        raise Http404("Form not filled")

    del request.session["form_filled"] # success view visible once after form is filled

    # return view template

您還可以檢查用戶是否在成功視圖中填寫了 COT 代碼。


def SuccessfulView(request):

    cot_code_exists = CotCode.objects.filter(user=request.user).count()

    if not cot_code_exists:

        raise Http404("Cot code does not exist for user")

    return render(request, 'successful_transfer.html')


查看完整回答
反對 回復 2023-09-26
  • 1 回答
  • 0 關(guān)注
  • 133 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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