이번주동안 한 일
- 파이썬 장고 강의 마무리
- 인스타그램 클론코딩 프로젝트
파이썬 장고 강의 마무리
결과물로 보여드립니다.. 개발일지 정리 해야하는데 바빠서 못함
인스타그램 클론코딩 프로젝트
진행상황
프로필 페이지 작업중..
게시글 수정 기능을 맡은 도중에 여러 문제가 발생해서 해결하는데 깨나 고생했다..
views.py
def modify_tweet(request, id):
my_tweet = TweetModel.objects.get(id=id)
if request.method == 'GET': # 요청하는 방식이 GET 방식인지 확인하기
return render(request, 'tweet/tweet_modify.html', {'tweet': my_tweet}) ##
{'tweet': my_tweet} 부분을 추가를 안해줘서 아래 밸류를 추가하고도 원본이 뜨질 않아서 계속 고생했다 ㅋㅋ
tweet_modify.html
<div class="form-group mb-2">
<input
style="margin-bottom:15px"
type="text"
class="form-control"
name="my-title"
id="my-title"
value="{{ tweet.title }}"
>
<input
class="form-control"
style="resize: none"
name='my-content'
id="my-content"
value="{{ tweet.content }}"></input>
<div class="mt-3 row">
<label for="tag" class="col-sm-2 col-form-label">이 글의 태그</label>
<div class="col-sm-10">
<input
type="text"
class="form-control"
name="tag"
id="tag"
placeholder="#으로 구분 해 주세요">
</div>
</div>
</div>
태그는 taggit이 id를 어떤 명령어로 표시해주는지 몰라서
결국 clear함수를 이용해 모두 지우고 다시 쓰는 방식으로 해결
views.py - def modify_tweet
def modify_tweet(request, id):
my_tweet = TweetModel.objects.get(id=id)
if request.method == 'GET': # 요청하는 방식이 GET 방식인지 확인하기
return render(request, 'tweet/tweet_modify.html', {'tweet': my_tweet})
elif request.method == 'POST':
user = request.user # 현재 로그인 한 사용자를 불러오기
title = request.POST.get('my-title','')
content = request.POST.get('my-content', '') # 글 작성이 되지 않았다면 빈칸으로
tags = request.POST.get('tag', '').split('#')
if content == '' or title == '': # 글이 빈칸이면 기존 tweet과 에러를 같이 출력
return render(request, 'tweet/tweet_modify.html', {'error': '제목이나 글은 공백일 수 없습니다'})
else:
my_tweet.user = user
my_tweet.title = title
my_tweet.content = content
my_tweet.tags.clear()
for tag in tags:
if tag != '':
tag = tag.strip()
if tag != '': # 태그를 작성하지 않았을 경우에 저장하지 않기 위해서
my_tweet.tags.add(tag)
my_tweet.save()
return redirect('/tweet/')
도중에 my_tweet.tags를 지정했다가 clear함수도 안먹고 추가도 안되서 한참을 헤맸던것 같다.. 사실 아직도 왜 안먹히는지 모름;
보완사항
- 게시글 작성 시 사진 추가
- 팔로우 / 팔로워 모달창으로 띄우기
- 회원가입 보완(이메일 중복검사, 항목변경 등)
뭔가 단체로 협업하면서 역할을 분담하다 보니 반대로 뭘 건드려도 되는지 조심스러워져서 일을 많이 못한 것 같다.. 이런 저런 트러블에 치이기도 했고ㅠㅠ
그래도 남은 부분 좀 적극적으로 수정/보완 해나갑시다!