인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

윤태영님의 프로필 이미지
윤태영

작성한 질문수

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

사용자 아바타 보여주기

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

작성

·

197

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관련된건 아직 자세히 몰라서... 


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

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

답변

답변을 기다리고 있는 질문이에요
첫번째 답변을 남겨보세요!
윤태영님의 프로필 이미지
윤태영

작성한 질문수

질문하기