小编Jay*_*ngh的帖子

Django DateTimeField 说“您比服务器时间提前 5.5 小时。”

在我存储的其中一个模型中 time_stamp = models.DateTimeField(default=timezone.now)

但是当我保存模型时,它说You are 5.5 hours ahead of server time. 例如我的机器中的本地时间是13:02但是在保存存储在 db 中的内容之后是7:16

我在这里得到了一个相关的但它没有一个令人满意的答案......

模型.py

class Comment(models.Model):
    time_stamp = models.DateTimeField(default=timezone.now)

    def save(self, *args, **kwargs):
        ''' On save, update timestamps '''
        if not self.id:
            self.time_stamp = timezone.now()
        return super(Comment, self).save(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)

python django timezone django-timezone

8
推荐指数
1
解决办法
4910
查看次数

使用 update() 方法时,Django ImageField 不会更新

我正在从 views.py 文件更新模型中的一些字段。当我使用时,所有其他字段都会正确更新

Profile.objects.filter(id=user_profile.id).update(
        bio=bio,
        city=city,
        date_of_birth=dob,
        profile_pic=profile_pic,
        gender=gender
    )
Run Code Online (Sandbox Code Playgroud)

只是,profile_pic = models.ImageField(blank=True)没有更新,奇怪的是,当我Profile从 admins.py检查我的模型时,它显示了我上传的文件名,但我的文件没有显示在我的/media目录中(我上传所有图像的地方)

视图.py

def edit_submit(request):
if request.method == 'POST':
    profile_pic = request.POST.get('profile_pic')
    bio = request.POST.get('bio')
    city = request.POST.get('city')
    dob = request.POST.get('dob')
    gender = request.POST.get('gender')
    user_profile = Profile.objects.get(user=request.user)
    Profile.objects.filter(id=user_profile.id).update(
        bio=bio,
        city=city,
        date_of_birth=dob,
        profile_pic=profile_pic,
        gender=gender
    )
    return HttpResponseRedirect(reverse('profile', args=[user_profile.id]))
Run Code Online (Sandbox Code Playgroud)

这就是我在 settings.py 中管理媒体文件的方式

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
Run Code Online (Sandbox Code Playgroud)

我认为只有文本存储在 ImageField 中,图像没有上传到/media目录 注意:我<input type="file" name="profile_pic" class="change_user_img">用于从模板获取图像

python django imagefield

5
推荐指数
1
解决办法
2692
查看次数

如何使 Django 表单字段唯一?

我有一个注册表单,我想在其中使电子邮件和手机号码字段的数据唯一....

class SignUpForm(UserCreationForm):
    email = forms.EmailField(max_length=254, help_text='Required. Inform a valid email address.', unique=True)
    mobile_no = forms.CharField(validators=[max_length=17, initial='+91', unique=True)  
Run Code Online (Sandbox Code Playgroud)

我目前正在使用,unique=True但它引发错误...

TypeError: __init__() got an unexpected keyword argument 'unique'
Run Code Online (Sandbox Code Playgroud)

django django-forms unique-constraint python-3.x

4
推荐指数
1
解决办法
4138
查看次数