>  기사  >  백엔드 개발  >  플라스크 업로드 아바타 예시에 대한 자세한 설명

플라스크 업로드 아바타 예시에 대한 자세한 설명

零下一度
零下一度원래의
2017-07-03 09:40:301803검색

아바타를 업로드하는 것은 단지 파일을 업로드하는 것이라고 오랫동안 생각했습니다. 실제로 경로가 있고 데이터베이스는 이 경로를 저장한 다음 아무 말도 하지 않고 프런트 엔드에 표시합니다. 어떻게 구현되는지 살펴보겠습니다.

데이터베이스 설정은 다음과 같습니다

user_image=db.Column(db.String(252),nullable=True)

폼 폼 디자인:

avatar=FileField('头像')

백엔드 구현 코드

 avatar=request.files['avatar']
 fanme=avatar.filename
 upfile=os.getcwd()+('/app/static/avatar/')
 ALLOWER_EXIT=['pang','jpg','jpeg','jig']
flag='.' in fanme and fanme.split('.')[1] in ALLOWER_EXITif not flag:     return render_template('editperson.html',form=form)
 avatar.save('{}{}{}'.format(upfile,user.username,fanme))
 user.user_image='/static/avatar/{}{}'.format(user.username,fanme)
 db.session.add(user)

저장 경로는

/static/avatar/,支持格式 pang、jpg、jpeg等格式,这个可以根据自己的需求进行设置。 
存储后会在数据库存储一个路径
最后实现后数据库

앞쪽- end display

{% if username.user_image%}<img   src="{{username.user_image}}" style="height:80px;">{%else%}<img src="/static/img/0.jpg" style="height:70px;width:80px">{%endif%}

설명하자면 여기 백엔드에 아바타를 업로드하는 코드가 Windows에서 파일이 존재하지 않는다고 오류를 보고하는데 수정하려고 했는데 경로명이 너무 길어서는 안 됩니다.

짧은 경로 이름도 괜찮지만, 긴 이름도 괜찮습니다. 오류를 신고하세요. 윈도우 개발에는 단점이 많지만 우분투에서 구현하는데 문제는 없습니다

项目地址

위 내용은 플라스크 업로드 아바타 예시에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.