일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 마라마라빔
- 소프트웨어공학
- MyPlaylist
- 그리디알고리즘
- Kruskal
- 백트래킹
- 종합설계
- programmers
- Bellman-Ford
- 장고
- B대면노래방
- 알고리즘
- codetree
- django
- 함밥
- 프로그래머스
- DFS
- 동적계획법
- 백준
- 실습
- Planned
- 모각코
- BFS
- 데이터베이스
- SQL
- 코드트리
- DP
- minimum spanning tree
- 파이썬
- 최소스패닝트리
- Today
- Total
Leta Learns
Planned | 220518 본문
#여행지 수정
멋사에서 했던 CRUD 참고해서 여행지 수정 기능을 추가하였다. (update)
views.py 수정하는 과정에서 자꾸 이상한 빨간 줄이 나왔다.
검색해보니 탭과 들여쓰기를 혼용해서 그런 거라고 한다.
노션에 올려두었던 코드를 복붙해서 그런가..
들여쓰기 지우고 탭 했더니 해결됨.
https://wangin9.tistory.com/entry/inconsistent-use-of-tabs-and-spaces-in-indentation
이것저것 설정해주고 서버에서 여행지 수정 후 저장 버튼을 눌렀는데
이런 에러가 났다. travel 이름은 하나인데 이런 게 왜 나지.
아래 링크 참고해서 수정하였다.
수정하면서 생각해보니 지난 마라마라빔 팀플 할 때도 이 에러가 나서
request.POST["name"]을 request.POST.get("name", False) 이런 식으로 바꿔주었던 기억이 있다.
멋사 자료에서는 이게 잘 되는데 왜 플젝을 할 땐 POST.get("~~~", False) 형식으로 해주어야 하지?
이 부분 나중에 좀 찾아봐야 할 것 같다.
이거 수정하고 새로고침했더니 아래의 에러가 발생하였다.
redirect 작성을 잘못했다.
return redirect('travels:checktravel', pk=travel.pk)
우선 이렇게 고치고 실행 해봤다.
포항 여행을
부산으로 바꾸고 저장을 누르면
바뀌지 않는다.!
def updatetravel(request, pk):
travel = get_object_or_404(models.Travel, pk=pk)
lodging = models.Lodging.objects.get(travel=pk)
places = []
for p in models.Place.objects.filter(travel=pk):
places.append(p)
if request.method == "POST": #update
travel.name = request.POST.get("name", False)
lodging.name = request.POST.get("name", False)
travel.start_date = request.POST.get("start_date", False)
travel.end_date = request.POST.get("end_date", False)
for place in places:
place.name = request.POST.get("name", False)
travel.save()
lodging.save()
places.save()
return redirect('travels:checktravel', pk=travel.pk)
return render(request, 'travels/updatetravel.html', {'travel':travel, 'lodging':lodging, 'places':places})
저장을 안 해줘서 그런가 싶어서 각 모델 별로 .save()를 하였다.
어디서 본 적 있는 에러가 남.
print(travel.name)을 해봤는데 수정 전에는 포항이 제대로 프린트되는데
{% extends 'base.html' %}
{% block page_title %}여행지 수정{% endblock page_title %}
{% block content %}
<h1>여행지 수정</h1>
<form action="{%url 'travels:updatetravel' travel.pk %}" method="POST" enctype="multipart/form-data">
{% csrf_token %}
<h4>여행 이름: </h4>
<input type="text" name="travel" value=“{{travel.name}}”>
<br>
<button>취소</button>
<input type="submit" value="저장">
</form>
{% endblock %}
다른 방식으로 해봤는데도 안 돼서 일단 넘어가기로 했다.
여행지 수정보다 지도 api 연결하는 작업이 더 중요해서..
그래도 일단 내 레포에 올려놓으려고 했는데, 여기서 git 에러가 났다 ! ^^
ㅋㅋㅋㅋㅋㅋ... 모르겠다. 일단... 코드는 노션에 적어두었으니.. git도 다음에 해야지.. 졸리다...
'HUFS > 종합설계 (캡스톤디자인)' 카테고리의 다른 글
Planned | 220525 (0) | 2022.05.26 |
---|---|
Planned | 220522 (0) | 2022.05.22 |
Planned | 220517 (0) | 2022.05.17 |
Planned | 220516 (0) | 2022.05.16 |
Planned | 220513 (0) | 2022.05.14 |