相关疑难解决方法(0)

以Django格式获取请求数据

是否可以在表单类中获取request.user数据?我想清理一个电子邮件地址,以确保它是唯一的,但如果它是当前用户的电子邮件地址,那么它应该通过.

这是我目前拥有的创建新用户非常有用的东西,但如果我想编辑用户,我会遇到他们的电子邮件未经验证的问题,因为它已经出现了.如果我可以使用request.user.email检查它是他们的电子邮件,那么我将能够解决我的问题,但我不知道该怎么做.

class editUserForm(forms.Form):
    email_address = forms.EmailField(widget=forms.TextInput(attrs={'class':'required'}))

    def clean_email_address(self):
        this_email = self.cleaned_data['email_address']
        test = UserProfiles.objects.filter(email = this_email)
        if len(test)>0:
            raise ValidationError("A user with that email already exists.")
        else:
            return this_email
Run Code Online (Sandbox Code Playgroud)

python django

49
推荐指数
3
解决办法
6万
查看次数

django:如何在ModelForm中访问当前请求用户?

在我的ModelForm实现中,我想根据当前用户是否是超级用户执行不同类型的验证检查.如何访问当前请求用户?

django django-admin

14
推荐指数
3
解决办法
1万
查看次数

如何在 Django 1.7 的表单模型中获取当前登录的用户 ID?

假设我有一个显示歌曲的网页。假设有公共歌曲和私人歌曲。公开歌曲是所有人都可以看到的,而私人歌曲是某个用户自己创建的、只有他自己可以看到的歌曲。所以用户应该只看到那些具有owner_id == NULL和owner_id == current_logged_in_user_id(他自己的id)的歌曲

模型:

import ....

    class Song(models.Model):
        name = models.CharField(max_length=100)    
        duration = models.IntegerField(max_length=15)
        owner = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, blank=True)

        def __unicode__(self):
            return self.name
Run Code Online (Sandbox Code Playgroud)

看法:

from django.shortcuts import render, redirect, get_object_or_404
from django.contrib.auth.decorators import login_required
from songapp.models import Song
from songapp.forms import SongInfoForm

@login_required
def song_info(request):
    song = get_object_or_404(Box)
    song_status = song.get_status()
    form = SongInfoForm(initial={'song_list': song.song_list})

    return render(request, 'songapp/song_info.html',
        {'form': form, 'song': song, 'song_status': song_status})
Run Code Online (Sandbox Code Playgroud)

形式:

    from django import forms
    from django.forms import ModelChoiceField

    from songapp.models import Song


    class …
Run Code Online (Sandbox Code Playgroud)

python django

3
推荐指数
1
解决办法
4552
查看次数

标签 统计

django ×3

python ×2

django-admin ×1