Development/Django(멋쟁이사자처럼 7기 운영진)

[멋사7기] 4주차 - 3. blog project 1, 2

안다희 2019. 1. 30. 23:40
728x90

bootstrap - navbar, title 검색 (color 바꾸는 것도 navbar 내리다보면 있음_

card 가져온건데 style을 지운 것 뿐



이것을 그대로 구현해보자!!!!!!!!!


<nav class="navbar navbar-expand-lg navbar-dark bg-dark">

둘다 dark로 바꿈



나머지는 이전 포스트처럼 따라하면 만들 수 있다!





======================글쓰기 페이지 생성========================


1) home.html 에서 글쓰기 페이지로 넘어갈 수 있는 링크 생성

<a class="nav-link" href="{% url 'new' %}">글쓰기</a>


2) new.html 파일 생성


<div class="container">
<form action="">
<h4>제목</h4>
<input type="text" name="title">
<br><br>

<h4>본문</h4>
<textarea cols="40" rows="10" name="body"></textarea>
<br><br>

<input class="btn btn-dark" type="submit" value="제출">
</form>
</div>

</body>


form 태그 ***




3) views.py 에서 new를 띄우라는 함수 만들어주기

def new(request):
return render(request, 'new.html')


4) urls.py에서 url 설정

path('blog/new', blog.views.new, name="new"),



5) 근데 아직 form태그의 action을 안정했지!

아까 new..html의 form태그로 돌아가서!

<form action="{% url 'create' %}">


6)그러면 url이 필요하겠지? urls.py

path('blog/create', blog.views.create, name="create"),

create함수가 실행될테니까 (html 파일 띄워주는게 아니라 create함수를 실행시켜주는것일뿐,)


7) 그러면 views.py에서 create함수 만들어주기

from django.utils import timezone
from django.shortcuts import render, get_object_or_404, redirect


def create(request): # 입력받은 데이터를 데이터베이스에 넣어주는 함수
blog = Blog()
blog.title = request.GET['title'] # wordcount때 배웠음
blog.body = request.GET['body']
blog.pub_date = timezone.datetime.now() # 현재시간!! import 해줘야하는 것이 있음
blog.save() # 객체.delete() : 지우기
return redirect('/blog/' + str(blog.id)) # 이 url로 넘기세요 (render와 다름) # id는 int니까 str로 형변환



**) redirect(URL)

redirect("https://google.com") 이렇게 해도 됨


**) render는 인자를 전달해서 html에서 활용하고 싶을 때!

출처: https://mingos-habitat.tistory.com/34 [밍고의서식지:티스토리]