현제의 현재이야기
장고 복습 7/8 본문
from django.conf import settings
from django.conf.urls.static import static
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
외우기
그 다음 models.py 작성하기.
image = models.ImageField(upload_to="blog/", blank=True, null=True)
그리고 Pillow install
forms.py 앱 내에 생성.
from django import forms
from .models import Blog
class BlogForm(forms.ModelForm):
class Meta:
model = Blog
fields = ['title','writer','body', 'image']
class meta는 상위 클래스에게 데이터를 넘겨주는 클래스란다.
그 다음 새로운 template 추가.
그리고 새로운 new html을 만든다,
{% extends 'base.html' %}
{% block content %}
<h1>New Blog Entry</h1>
<form action="{%url 'blog:create'%}" method="post" enctype="multipart/form-data">
{%csrf_token%}
{{form.as_p}}
<button type='submit'>작성하기</button>
</form>
{% endblock %}
그리고 views 함수도 두개 다시 만든다. new함수하고 create 함수.
from .forms import BlogForm
def new_with_django_form(request):
form = BlogForm()
return render(request, 'new_with_django_form.html', {'form': form})
def create_with_django_form(request):
form = BlogForm(request.POST, request.FILES)
if form.is_valid():
new_blog = form.save(commit=False)
new_blog.pub_date = timezone.now()
new_blog.save()
return redirect('blog:detail', new_blog.id)
return redirect('home')
BlogForm을 import 해줘야 한다.
'Django' 카테고리의 다른 글
[멋쟁이사자] django 로 개인 블로그 만들기 과제 리뷰 (0) | 2022.07.23 |
---|---|
what is api?? (0) | 2022.07.22 |
장고 복습 7/9 (0) | 2022.07.09 |
장고 복습 7/6 (0) | 2022.07.06 |
Django 명령어 및 순서 복습 (0) | 2022.07.01 |
Comments