일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 데이터베이스
- 백준
- 마라마라빔
- 알고리즘
- django
- DFS
- 동적계획법
- 프로그래머스
- 함밥
- Bellman-Ford
- 종합설계
- DP
- minimum spanning tree
- 그리디알고리즘
- 파이썬
- 백트래킹
- programmers
- Planned
- MyPlaylist
- 최소스패닝트리
- Kruskal
- 코드트리
- 소프트웨어공학
- codetree
- 장고
- 모각코
- SQL
- 실습
- B대면노래방
- BFS
Archives
- Today
- Total
Leta Learns
django | CRUD - Update 본문
update.html 만들고 views.py, urls.py 수정
글을 update 하기 위해 필요한 정보들
- 어떤 글을 수정할 것인지 (글의 id)
- 수정하기 전 내용
{% url 'update' blog.id %}
=> 링크를 눌렀을 때 update하고자 하는 글의 id를 넘겨준다.
views.py의 update함수에 blog.id를 인자로 넘김.
urls.py
path("update/<int:id>", update, name="update")
update/<int:id>
=> 글의 id를 id라는 변수로 받겠다는 뜻
views.py
def update(request, id):
blog = Blog.objects.get(id = id)
return render(request, 'update.html', {"blog":blog})
blog = Blog.objects.get(id=id)
#Blog DB에서 id값이 id인 것을 가져와 blog 변수에 담아준다.
{"blog": blog}
#blog 변수를 blog라는 이름으로 update.html로 넘겨준다.
update.html에 form 태그 추가
<form action="{% url 'update' blog.id %}" method = "POST">
{% csrf_token %}
<h4>제목: </h4>
<input type="text" name="title" value=“{{blog.title}}”>
<br>
<br>
<h4>본문: </h4>
<textarea name="body" cols="30" rows="10">{{blog.body}}</textarea><br><br>
<input type="submit" value="완료">
</form>
action = "{% url 'update' blog.id %}"
#form들의 값이 전송될 url(update)을 연결시켜준다.
views.py
def update(request, id):
blog = Blog.objects.get(id = id)
if request.method == "POST" #업데이트
blog.title = request.POST["title"]
blog.body = request.POST["body"]
blog.save()
return redirect('detail', blog.id)
return render(request, 'update.html', {"blog":blog})
단순히 update.html로 들어가면 method="GET" => 내용 read
페이지 안에서 form을 제출하면 method="POST" => 내용 update
음... 졸린 거 참고 했더니 잘 이해 안 되는 듯.. 다시 봐야겠다.
'Django' 카테고리의 다른 글
django | template 상속, 앱 분리 (0) | 2021.07.07 |
---|---|
django | CRUD - Delete (0) | 2021.07.07 |
django | CRUD - Create (0) | 2021.07.07 |
django | CRUD - Read (0) | 2021.07.06 |
django | Model & Admin (0) | 2021.07.06 |
Comments