현제의 현재이야기

장고 복습 7/8 본문

Django

장고 복습 7/8

현재의 현제 2022. 7. 8. 15:04

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