python 2.7でCGIスクリプトを書くときに、getメソッドのURLパーサに取り組んでいます。前進私は何も(ウェブページがちょうど開かれている場合)、またはユーザが以前に入力したもので、あらかじめ入力したHTMLフォームを作成しようとしています。このスクリプトは、すべてが正しく呼び出されるようにリンクしています。私はPython変数を私が望む場所に置くことができません。python CGI内にHTMLフォームを事前入力する
print "Content-Type: text/html"
print """
<html>
<head>
<title> Output from CGI </title>
</head>
<body>
<h3> Creating HTML forms </h3>
<p> Please randomize input below... </p>
"""
print '<form action="proj1.cgi" method="get">'
print '<input type="checkbox" name="cb1" value="1" />'
if f:
print '<input type="text" name="text1" value="'+ html_encode(var['text1'])+'" />'
else:
print '<input type="text" name="text1" />'
print """
<input type="submit" />
</form>
<h3> This was your output: </h3>
<p>
"""
print 'User Text: %s <br />' %(html_encode(var['text1']))
if 'cb1' not in var.keys():
print 'The checkbox wasn\'t checked :(<br />'
else:
print 'The checkbox was checked!<br />'
print """
</p>
<br /><br />
</body>
</html>
"""
私の書式設定はひどいと思いますが、それが機能していると心配しています。これらのif文は、単にデータをチェックし、そのデータに基づいて決定を下すだけです。問題は明示的に私のprintステートメントでPythonの変数を使用しようとするときに来る。私は他のコードをすべて混乱させないようにしていますが、独立したHTMLファイルではなく、CGIスクリプトの一番下に座っていることがわかります。
ちょうど頭が上がるので、このような目的でPythonの代わりにJavaScriptを使いたいかもしれません。 Pythonの使用を強く求めている場合は、DjangoやFlaskをチェックしてください.HTMLレンダリングがはるかに簡単になります。 –
私は実際にこのプロジェクトを終えた直後にフラスコに移っています。私の上司は、インターネットがどのように動作しているのかを知っているので、getメソッドとpostメソッドの両方で自分のURLパーサーを開発しなければならなかったのです。これは、より効率的なツールに移行する前に、このプロジェクトの最後の部分の1つです。 – Turk