inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

파이썬 사용자를 위한 웹개발 입문 A to Z Django + Bootstrap

사용자 아바타 보여주기

django awesome avatar를 적용시키려고 하는데요

223

윤태영

작성한 질문수 22

0

수업외적인 질문을 해도될지 모르겠지만 질문드려봅니다

https://pypi.org/project/django-awesome-avatar/
여기에있는 아바타를 적용시키려고 합니다
근데 제가 부족한것인지 적용이 잘안됩니다...

models.py의 comment에 avatar를 적용시켜보고

class Comment(models.Model):
post = models.ForeignKey(Post, on_delete=models.CASCADE) # post하나에 여러댓글 달 수 있다
text = MarkdownxField()
user = models.ForeignKey(User, related_name='profile', on_delete=models.CASCADE, default=1)
avatar = AvatarField(upload_to='avatars', width=100, height=100, default='C:\\Users\\dhrms\\OneDrive\\바탕 화면\\GitHub\\Web-django-\\_media\\blog\\2020\\08\\01')


def get_markdown_content(self):
return markdown(self.text)

def get_absolute_url(self):
return self.post.get_absolute_url() + '#comment-id-{}'.format(self.pk)

views.py에 

class AvatarChangeForm(forms.ModelForm):
class Meta:
model = Comment
fields = ['avatar']

def change_avatar(request):
if request.method == 'POST':
form = AvatarChangeForm(request.POST, request.FILES,
instance=request.user.profile)
if form.is_valid():
form.save()
return HttpResponseRedirect('/profile/')
else:
form = AvatarChangeForm(instance=request.user.profile)

return render(request, 'template.html', {'form': form})

를 넣고 해보았는데 migrate까지는 해결했으나 블로그에 들어가보니 적용이 안되있습니다
html도 바꿔야할거같은데 어떻게할지 모르겠고 ㅠ


그래서 원래했던것을 지우고 코멘트 클래스를 원래대로 돌리고

도큐멘테이션에서 하라는대로 해보았는데

models.py

class Profile(models.Model):
user = OneToOneField(User, related_name='profile', default=1, on_delete=models.CASCADE)
avatar = AvatarField(upload_to='avatars', width=100, height=100)

 
views.py

class AvatarChangeForm(forms.ModelForm):
class Meta:
model = Profile
fields = ['avatar']

def change_avatar(request):
if request.method == 'POST':
form = AvatarChangeForm(request.POST, request.FILES,
instance=request.user.profile)
if form.is_valid():
form.save()
return HttpResponseRedirect('/profile/')
else:
form = AvatarChangeForm(instance=request.user.profile)

return render(request, 'template.html', {'form': form})

이제는 migrate를 하면 blog_profile이라는 테이블이 없다는 에러가 뜹니다

db관련된건 아직 자세히 몰라서... 


혹시 어떻게해야할지 방향을 제시해줄수 있으신가요

아니면 지금 이걸하는게 시기상조일까요?

python django bootstrap

답변 0

후속 강의

0

390

1

완성했습니다. 감사합니다

0

321

2

오늘 vps 에 domain 을 지정해주고 아직 활성화되지 않았는데

0

298

1

test 결과 두 가지 error 가 발생했습니다. 뭐가 잘못된 건지 도저히 모르겠습니다.

0

421

1

accounts/login 이 존재하지 않는다고 나옵니다

0

268

2

코드 질문입니다

0

248

1

포스트에 markdown을 사용해서 이미지를 추가할때

0

310

1

New Post 관련 질문드립니다.

0

179

1

이번 영상부터 각 포스트에 프리뷰 사진이 달라지셔서 질문 드립니다.

0

334

1

base 작업한 후 Category가 블로그 하단으로 내려갔습니다.

0

253

1

혹시 소스코드 전체가 담긴 주소를 좀 알 수 있을까요?

0

264

1

9분 경 테스트에서 Assretion Error가 발생합니다.

0

234

1

파이참 초기 설치 후 설정 관련해서 git에 항상 add되는 옵션을 체크했습니다.

0

345

3

F12를 눌러 console 창에서 오류를 확인할때 몇번째 줄인지 나오지 않습니다.

0

396

1

post view도 delete하려는데 막혀서 ㅠㅠ

0

196

1

"GET / HTTP/1.1" 400 143 그리고 "GET / HTTP/1.1" 404 2031

0

3304

3

연결이 안됩니다

0

506

8

서버에 연결하고 나면 그 후에 Cmder가 작동이 안되요

0

378

2

서버에 배포후 어드민계정

0

589

2

안녕하세요! 실서버에 올린 sqlite3의 데이터를 직접 확인하려면 어찌하나요?

0

2038

3

gitignore안먹히는현상

0

292

1

cmder 종료시 서버도 같이 종료됩니다.

0

220

1

' python manage.py makemigration blog ' 명령어 에러

0

588

2

python manage.py makemigrations 를 했을 때 오류가 납니다.

0

559

2