ตัวอย่าง ผมใช้ django ในการรันผล
views.py
โค้ด: เลือกทั้งหมด
from django.shortcuts import render
from django.views.generic import TemplateView
from django.template import loader
from django.http import HttpResponse
from django.views.generic import View
from .utils import render_to_pdf
# Create your views here.
class HomePageView(TemplateView):
def get(self,request,**kwargs):
return render(request, 'index.html', context=None)
def index(request):
if request.method == 'POST':
name = request.POST.get('name')
email = request.POST.get('email')
phone = request.POST.get('phone')
context = {
'name':name,
'email':email,
'phone':phone
}
template = loader.get_template('result.html')
return HttpResponse(template.render(context,request))
else :
#if post request is not true
#returning the form template
template = loader.get_template('index.html')
return HttpResponse(template.render())
class GeneratePdf(View):
def get(self, request, *args, **kwargs):
# getting the template
pdf = render_to_pdf('result.html')
# rendering the template
return HttpResponse(pdf, content_type='application/pdf')
โค้ด: เลือกทั้งหมด
from django.urls import path
from django.conf.urls import url
from studentinfo import views
from .views import GeneratePdf
urlpatterns = [
path('',views.HomePageView.as_view()),
path('result/',views.index),
path('result/pdf/', GeneratePdf.as_view()),
]
โค้ด: เลือกทั้งหมด
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Django Form</title>
</head>
<body>
<h2>Django Form</h2>
<form method="post" action="/result/">{% csrf_token %}
<table>
<tr>
<td>Enter your name: </td>
<td><input type="text" name="name"/></td>
</tr>
<tr>
<td>Enter your email:</td>
<td><input type="email" name="email"/></td>
</tr>
<tr>
<td>Enter your phone:</td>
<td><input type="text" name="phone"/></td>
</tr>
<tr>
<td><button>Submit</button></td>
</tr>
</table>
</form>
</body>
</html>
โค้ด: เลือกทั้งหมด
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>ทดสอบรับข้อมูลจากฟอร์ม</title>
</head>
<body>
<h2>Django Form</h2>
<form method="POST" action="result/pdf/">
<table>
<tr>
<td>Name:</td>
<td><strong>{{ name }}</strong></td>
</tr>
<tr>
<td>E-mail:</td>
<td><strong>{{ email }}</strong></td>
</tr>
<tr>
<td>Phone:</td>
<td><strong>{{ phone }}</strong></td>
</tr>
<td><a href="pdf/">ออกรายงาน</a></td>
</table>
</form>
</body>
</html>