같은 url이라도 요청방식(get, post)이 다르면 다른 방식으로 접근이 된다!
게시글 쓰기
글 작성할 html 만들기
templates > tweet > home.html 열기
form은 글을 적는 공간인데 form 안에 submit이 있으면 그 안에 있는 내용을 서버로 보내주는거다!
/tweet으로 보낼것이고, POST로 보낼고, 암호화도 해주자
<form action="/tweet" method="post">
{% csrf_token %}
글 저장할 view 만들기
url에 해당하는 view를 설정해주자
tweet앱에 urls.py로 들어가면
path('tweet/', views.tweet, name='tweet')
이미 tweet이라는 url로 적용되어있는 함수가 있다 views.py에 있다!
뭘 받아올지 templates/tweet의 home에 가서 확인해보자
<textarea class="form-control" style="resize: none" name='my-content' id="my-content"></textarea>
name이 my-content 이므로 이걸 받아오면 된다
tweet앱에 views.py로 들어가면 GET 만있는데
POST를 추가해주자
def tweet(request):
if request.method == 'GET':
user = request.user.is_authenticated
if user:
return render(request, 'tweet/home.html')
else:
return redirect('/sign-in')
elif request.method == 'POST': # 요청 방식이 POST 일때
user = request.user # 현재 로그인 한 사용자를 불러오기
my_tweet = TweetModel() # 글쓰기 모델 가져오기
my_tweet.author = user # 모델에 사용자 저장
my_tweet.content = request.POST.get('my-content', '') # 모델에 글 저장
my_tweet.save()
return redirect('/tweet')
그러면 내용을 입력하고 작성하기 버튼을 누르면
창은 아무것도 변경된게 없지만
여기는 이렇게 잘 저장이 되고 있다!
728x90
'📝💪 > Django' 카테고리의 다른 글
4주차_1번째_데이터베이스 관계, Many -to - Many 모델 등록 (0) | 2022.09.24 |
---|---|
3주차_6번째_게시글 읽기/삭제 (1) | 2022.09.23 |
3주차_4번째_로그인 필요 기능, 로그아웃 만들기 (1) | 2022.09.23 |
3주차_3번째_로그인 이후 기능 다듬기 (0) | 2022.09.23 |
3주차_2번째_회원가입, 로그인 수정하기 (0) | 2022.09.23 |
댓글