zono note

zono note

日々の学び、気付きを大切に綴りたい

連載 7 : pythonとhtmlの連動

『 htmlとcsspythonの合体 』
入力用フォームと出力用フォームの、html、csspythonに読み込む。

ファイル名は、mane.pyにする。

ごめんなさい。少し長いコードになりますが。

def get_date():
	import datetime
	now = datetime.datetime.now()
	today = str(now.month)+ "月" + str(now.day) + "日"
	youbi = ["(月)","(火)","(水)","(木)","(金)","(土)","(日)"]
	date = datetime.date(now.year,now.month,now.day)
	youbi = youbi[date.weekday()]
	today += youbi
	return today


date = get_date()

import cgi
form = cgi.FieldStorage()
name = form.getvalue("name","")
meal = " " + form.getvalue("meal","")
menu1 = form.getvalue("menu1","")
menu2 = form.getvalue("menu2","")
menu3 = form.getvalue("menu3","")
menu4 = form.getvalue("menu4","")
menu5 = form.getvalue("menu5","")
menu6 = form.getvalue("menu6","")

import random
img_num = random.randint(1, 12)

html = """
<!DOCTYPE html>
<html>
	<head>
		<title>あおぞら献立</title>
		<style>
			@page {
				size: A4;
				magin:10mm;
			}

			@media print {
				body {
					width: 190mm;
				}
			}

			body {
				border: 2px solid black;
				width: 210mm;
				height: 148mm;
				padding-right: 50px;
				padding-left:50px;
			}

			h1 {
				font-family: Georgia, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiriyo, serif;
				font-size: 60px;
				text-align: center;
				margin-top: 10px;
				margin-bottom: 0;
				padding-bottom: 0;
			}

			h2 {
				font-size: 35px;
				text-align: center;
				padding: 0;
				margin: 0;
			}

			h3 {
				font-size: 35px;
				margin: 0;
			}

			p {
				font-size: 25px;
				margin: 2px;
			}

			img {
				position: absolute;
				top: 200px;
				left: 600px;
				width: 250px;
				height: 250px;
			}

			#aozorasakura {
				font-size: 30px;
				margin-top: 30px;
			}

			#tyuuigaki {
				font-size: 20px;
			}
		</style>
	</head>
		<body>
			<h1>%s 様</h1>
			<h2>%s<span style="color:yellow">%s</span>
			<h3>本日の献立</h3>
			<p>&#9312;%s</p>
			<p>&#9313;%s</p>
			<p>&#9314;%s</p>
			<p>&#9315;%s</p>
			<p>&#9316;%s</p>
			<p>&#9317;%s</p>
			<img src="/images/image%s.jpg" alt="image">
			<p id="aozorasakura">
			<span style="color: red">あ</span>
			<span style="color: orange">お</span>
			<span style="color: yellow">ぞ</span>
			<span style="color: green">ら</span>
			<span style="color: magenta">さくら</span>
			<span style="color: blue">弁当</span>
			TEL 099-230-7895
			</p>
			<p id="tyuuigaki">※仕入れ状況により、献立・食材が変更する場合がございます。</p>
		</body>
</html>
"""



html = html % (name, date, meal, menu1, menu2, menu3, menu4, menu5, menu6, img_num)
print("Content-type: text/html\n")
print(html)

忘れない為にメモです。

【def get_date():】自動で曜日を取得

【name = form.getvalue("name","")】 ” ” の中には大元値が反映される。値がなければNONEが
                   表示、その他に「値がありませ」などの文字入力も可能

【画像のランダム表示】

ごめんなさい、これは言葉が成り立っていませんが、私の忘れない為の走り書きメモ
【%s】には変数が入る サイトアドレスに表示されるクエリー、?を拾って変数に入れるイメージ