我想在 Django 中为 FloatField 设置最小值,以便表单字段不接受负值。在整数的情况下,我将数据类型更改为 PositiveIntegerField 但最小值在浮点字段的情况下不起作用。
from django.core.validators import MaxValueValidator, MinValueValidator
max_discount = models.FloatField( verbose_name=u'Maximum Discount', validators = [MinValueValidator(0.0)])
Run Code Online (Sandbox Code Playgroud) 我想上传个人资料图片.图像未上传.它在/ profile /中给出错误AttributeError
'list'对象没有'startswith'属性
def userDetail(request):
current_user = request.user
if(request.method == 'POST'):
form = UserDetailDataForm(request.POST, request.FILES)
if(form.is_valid()):
profileImg = request.FILES['profileImg']
try:
userprofile = UserDetail.objects.get(user_id = current_user.id)
if userprofile:
userprofile.profileImg = profileImg
userprofile.save()
context = {'username': current_user.username, 'image' : userprofile.profileImg, 'MEDIA_ROOT': settings.MEDIA_ROOT}
return render_to_response('user_profile.html', context)
else:
form = UserDetailDataForm()
return render_to_response('profile.html', {'form': form})
Run Code Online (Sandbox Code Playgroud)
Models.py
profileImg = models.ImageField(upload_to='/images/',blank=True, null=True,default="images/default-profile.jpg")
设置文件:
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
MEDIA_ROOT = [
os.path.join(BASE_DIR, 'firstapp/static/'),]
Run Code Online (Sandbox Code Playgroud)
完整StackTrace:
Environment:
Request Method: POST
Request URL: http://localhost:8000/profile/
Django Version: 1.10.5
Python Version: 2.7.12 …Run Code Online (Sandbox Code Playgroud)