본문 바로가기

프로젝트54

sns 만들기 (댓글기능) 댓글 기능 1. model.py 작성 2. views.py 3. urls.py 4. html 상세페이지에서 댓글 작성하면 상세페이지에 댓글 나타게 하기 1. model.py 작성 댓글기능은 게시글에 작성을 하는 것이다. 작성할 게시글이 필요하고, 작성자(로그인한 사용자), 댓글, 생성일, 업데이트시간이 필요하다. 이미 작성한 게시글에 댓글을 작성할 것이기 때문에 ForeignKey로 TweetModel에서 tweet을 가져오고 댓글을 작성하는 작성자는 로그인을 한 사용자이기 때문에 ForeignKey로 UserModel의 user를 가져온다! class TweetComment(models.Model): class Meta: db_table = 'comment' tweet = models.ForeignKe.. 2022. 10. 9.
sns 만들기 (게시글 수정) 1. 게시글 수정페이지로 연결 2. 수정페이지에 해당 데이터 가져오고 3. 수정내용 저장후 홈에 수정된 내용 보여주기 게시글 수정페이지로 연결 1. views.py 작성 def post_edit(request,id): my_tweet = TweetModel.objects.get(id=id) return render(request,'tweet/post-edit.html',{'tweet':my_tweet}) 2. urls.py 작성 path('tweet/post-edit/', views.post_edit, name='post-edit'), 3. html에 연결 {% if tw.author == user %} # 수정페이지연결 # 삭제 {% csrf_token %} delete {% endif %} 수정페이지.. 2022. 10. 9.
sns 만들기(게시글 상세페이지 연결, 보여주기) 게시글 상세페이지 연결을 해주자 home 에서 게시글 사진을 눌렀을 때 tweet/3 처럼 해당 게시글의 상세페이지로 연결을 해주자 1. tweet/urls.py path('tweet/', views.tweet_detail, name='tweet-detail'), 2. tweet/detail.py def tweet_detail(request,id): my_tweet = TweetModel.objects.get(id=id) return render(request,'tweet/tweet-detail.html',{'tweet':my_tweet}) 3.home.html 이제 상세페이지에 home에 있는 해당 데이터를 가져와서 보여주자 # imgae # 작성자 이름 {{ tweet.author.username }.. 2022. 10. 9.
sns 만들기(게시글 삭제) 게시글 삭제 1. 삭제할 view 만들기 2. url 연결시켜주기 3. html에 연결시켜주기 1. 삭제할 view 만들기 @login_required def post_delete(request,id): my_tweet = TweetModel.objects.get(id=id) my_tweet.delete() return redirect('/tweet') @login_required로 로그인한 사용자만 접근하게 하고 id 값을 줘서 삭제한 뒤 tweet으로 보여준다 2. url 연결시켜주기 path('tweet/delete/', views.post_delete, name='post-delete'), 는 url경로 맨 뒷자리에 id값이 숫자가 온다는 것! 3번 게시물 삭제하고 싶으면 tweet/delete/.. 2022. 10. 9.
sns 만들기 (게시글 저장, 보여주기) 게시글 저장하기 1. 화면 띄우기 (post-add, post-edit, tweet-detail) 2. tweet 모델 작성 3. view 작성 4. html 작성 게시글 보여주기 1. view 작성 2. html 작성 게시글 저장 1. 화면 띄우기 post-add, post-edit, tweet-detail를 연결해주자 # tweet/urls.py from django.urls import path, include from . import views urlpatterns = [ path('', views.home, name='home'), path('tweet/', views.tweet, name='tweet'), path('post-add/', views.post_add, name='post-add'.. 2022. 10. 8.
sns 만들기(로그아웃) 아래 코드 임포트 해주고 from django.contrib.auth.decorators import login_required user/views.py에 아래 함수 추가해 준다. @login_required def logout(request): auth.logout(request) return redirect('/') @login_required는 로그인을 한 사용자만 접근할 수 있게 해주는 기능이다 로그아웃은 당연히 로그인을 한 사용자만 접근이 가능하니까! @login_required는 로그인 하지 않으면 접근이 불가능 하게 만드는 기능이고, request.user.is_authenticated는 로그인의 여부만 검증 해 주는 기능! user/urls.py path('logout/', views.lo.. 2022. 10. 8.
sns 만들기 (로그인, 회원가입 기능 추가) 구현했던 로그인, 회원가입 기능을 좀 더 세부적으로 수정해 보자 회원가입 1. 회원가입 시 이미 존재하는 사용자일 경우 오류 메세지 나타내기 2. 비밀번호가 일치하지 않을 경우 오류 메세지 나타내기 3. 빈칸으로 입력할 시 오류 메세지 나타내기 로그인 1. 비밀번호 틀렸을 경우 오류 메세지 나타내기 2. 빈칸으로 입력할 시 오류 메세지 나타내기 3. 로그인이 된 경우 홈 화면 연결하기 오류메세지 나타내기 1. views.py 수정 return render(request, 'user/sign-up.html',{'error':'이미 존재하는 사용자입니다.'}) 이런 식으로 에러 메세지 입력해주고 2. 해당 html 수정 해당하는 곳에 error 메세지 코드 추가해놓기 {% if error %} {{ erro.. 2022. 10. 8.
sns 만들기(회원가입, 로그인) instagram clone coding 프로젝트가 끝난 후 아직도 확실하게 알겠다라는 느낌이 없어서 처음부터 나 혼자 주요기능을 구현해보려고 한다 프론트에 쏟을 시간은 당연히 없기 때문에 이번 프로젝트때 사용했던 탬플릿을 가져다 쓰기로 했다 기능 구현하면서 탬플릿 깨지는거는 신경쓰지말고 기능구현이 되는지에 집중하자! 처음 가상환경 설정부터 다시 시작했다. 1. 환경 설정하기 가상환경 설정하고, 프로젝트와 앱들을 만들어줬다. settings.py에 앱 추가한 내용 알려주고, 탬플릿폴더에 사용할 탬플릿도 넣어줬다. 2. 회원가입 기능 구현 1) 화면 띄우기 template, url, view를 연결해서 화면을 띄우자 templatedoesnotexist에러가 나서 또 애를 먹었었다는..ㅎㅎ https://.. 2022. 10. 8.
트러블슈팅 팀별 발표를 보던 도중 어떤 조가 트러블슈팅이라는걸 작성한걸 봤다. 튜터님들의 좋은 피드백을 받아서 트러블 슈팅이 뭐지? 하고 찾아봤다. 위키백과에서는 트러블슈팅(troubleshooting)은 문제 해결의 일종으로, 망가진 제품, 또는 기계 시스템의 망가진 프로세스를 수리하는 일에 주로 적용된다. 문제 해결을 위해 문제의 원인을 논리적이고 체계적으로 찾는 일이며 제품이나 프로세스의 운영을 재개할 수 있게 한다. 라고 한다. 개발할때 트러블 슈팅은 어떻게 사용이 되는지 예시를 찾아봤다. https://nate9389.tistory.com/2155 【Python】 파이썬 주요 트러블슈팅 [01-20] 파이썬 주요 트러블슈팅 [01-20] 추천글 : 【Python】 파이썬 목차 1. ERROR: Could .. 2022. 10. 6.
5i clonecoding KTP 1. 프로젝트 주제 장고를 이용한 인스타그램의 기능 구현 2. 구현한 기능 로그인 / 회원가입 게시글 작성 / 수정 / 삭제 hash tag 댓글 등록 / 삭제 게시글 / 댓글 보여주기 프로필사진 편집 추천친구 보여주기 ( 5명 까지만 ) 팔로우 / 팔로우 취소 서버 배포(http://sparta-ldy.shop/tweet/) 3. 느낀점 김현준 : 이번 프로젝트에서는 초반에 내가 데스크탑을 바꾸고 여러 가지를 전환하는 과정에서 수많은 오류가 발생했고 뒤늦게 시작하면서 장고 구현 과정에서 팀원들에게 도움이 되지 못했다. 그래도 프론트 영역에서라도 최선을 다하고자 노력했고 장원님과 함께 최대한 수치를 조정하며 노력했다. 하지만 프론트 하면서 장고작업에 참여 못해 자괴감이 들었다. 빨리복습 마치고 머신러닝부.. 2022. 10. 6.
media파일 불러오기, 게시글 댓글, 팔로우 필수 기능 외에 구현한 기능 1. ImageField media파일 이용해서 이미지 업로드하기 2. 댓글 게시글마다 따로 달리게 하기 3. 팔로우 기능 4. 전반적인 프론트 잡기 상세 내용은 프로젝트 끝나고 정리하자! 2022. 10. 4.
홈, 게시글 추가 모달 만들기 1. templates 오류 아무리 해도 오류가 사라지지 않아서 확인해보니 template이 존재하지 않는다고 떴다 버젓이 있었는데!!! 알고보니 templates가 app 안이 아니라 밑에 있어서 그랬던 것이다 이럴 땐 settings.py에서 TEMPLATES 부분을 수정해주면 된다 TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [BASE_DIR / 'templates'], #이부분! 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.con.. 2022. 10. 1.
728x90