반응형
CodingEntrepreneurs Django 강의 정리
Django Form>
1. 렌더링 준비를 위한 데이터 준비 및 재구성
2. 데이터에 대한 HTML양식 생성
3. 제출된 양식 및 데이터 수신 및 처리
4. 형식을 설명하고, 작동 방식과 표시 방식을 결정
5. 양식 데이터를 관리하고 양식을 제출할 때 유효성 검사를 수행
form.html>
{% extends "base.html" %}
{% block content %}
{% if title %}
<h1>{{ title }}</h1>
{% endif %}
<form method="POST" action="."> {% csrf_token %}
{{ form.as_p }}
<button type="submit">Send</button>
</form>
{% endblock %}
forms>
from django import forms
class ContactForm(forms.Form):
full_name = forms.CharField()
email = forms.EmailField()
content = forms.CharField(widget=forms.Textarea)
views>
from django.http import HttpResponse
from django.shortcuts import render
from django.template.loader import get_template
from .forms import ContactForm
# Model View Template (MVT)
# Dont Repeat Yourself = DRY
def home_page(request):
my_title = "Hello there ..."
context = {"title": "my_title"}
if request.user.is_authenticated:
context = {"title": my_title, "my_list": [1, 2, 3, 4, 5]}
# template_name = "title.txt"
# template_obj = get_template(template_name)
# rendered_string = template_obj.render(context)
# print(rendered_string)
# doc = "<h1>{title}</h1>".format(title=my_title)
# django_render_doc = "<h1>{{ title }}</h1>".format(title=my_title)
# return render(request, "hello_world.html", {"title": rendered_string})
return render(request, "home.html", context)
def about_page(request):
return render(request, "about.html", {"title": "About Us"})
def contact_page(request):
# print(request.POST)
form = ContactForm(request.POST or None)
if form.is_valid():
print(form.cleaned_data)
form = ContactForm()
context = {"title": "Contact Us", "form": form}
return render(request, "form.html", context)
def example_page(request):
context = {"title": "Example"}
template_name = "hello_world.html"
template_obj = get_template(template_name)
rendered_item = template_obj.render(context)
return HttpResponse(rendered_item)
반응형
'Python_WEB > Try_Django' 카테고리의 다른 글
[Django]Model Form (0) | 2020.06.21 |
---|---|
[Django]Saving Data from a Django Form (0) | 2020.06.17 |
[Django]Submit Raw HTML Form (0) | 2020.06.17 |
[Django]In App Templates (0) | 2020.06.17 |
[Django]Include URLs (0) | 2020.06.17 |