Ich habe ein Problem mit meinem Python-Skript mit HTML.Wie schreibe ich Python-Skript in Kolben
Ich bin Neuling.
Mein Python-Skript sieht wie folgt:
#!/usr/bin/python3.4
# Import modules for CGI handling
import cgi, cgitb
# Create instance of FieldStorage
form = cgi.FieldStorage()
# Get data from fields
first_name = form.getvalue('first_name')
last_name = form.getvalue('last_name')
print("Content-type:text/html\r\n\r\n")
print("<html>")
print("<head>")
print("<title>Hello - Second CGI Program</title>")
print("</head>")
print("<body>")
print("<h2>Hello %s %s</h2>" % (first_name, last_name))
print("</body>")
print("</html>")
und meine HTML-Datei:
<form action="hello_get.py" method="get">
First Name: <input type="text" name="first_name"> <br />
Last Name: <input type="text" name="last_name" />
<input type="submit" value="Submit" />
</form>
ich HTML laufen und zur Eingabe von Vornamen und Nachnamen schreiben, aber mein Skript startet nicht . Es zeigt nur die Fenster Wenn ich ein Skript öffnen oder speichern möchte.
EDIT:
Mein HTML:
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
<p>Want to get in touch with me? Fill out the form below to send me a message and I will try to get back to you within 24 hours!</p>
<!-- Contact Form - Enter your email address on line 19 of the mail/contact_me.php file to make this form work. -->
<!-- WARNING: Some web hosts do not allow emails to be sent through forms to common mail hosts like Gmail or Yahoo. It's recommended that you use a private domain email address! -->
<!-- NOTE: To use the contact form, your site must be on a live web host with PHP! The form will not work locally! -->
<form action="/app/get.cgi" method="get">
<div class="row control-group">
<div class="form-group col-xs-12 floating-label-form-group controls">
<label>Name</label>
<input type="text" name="name" class="form-control" placeholder="Name" id="name" required data-validation-required-message="Please enter your name.">
<p class="help-block text-danger"></p>
</div>
</div>
<div class="row control-group">
<div class="form-group col-xs-12 floating-label-form-group controls">
<label>Email Address</label>
<input type="email" name="email" class="form-control" placeholder="Email Address" id="email" required data-validation-required-message="Please enter your email address.">
<p class="help-block text-danger"></p>
</div>
</div>
<div class="row control-group">
<div class="form-group col-xs-12 floating-label-form-group controls">
<label>Message</label>
<textarea rows="5" name="message" class="form-control" placeholder="Message" id="message" required data-validation-required-message="Please enter a message."></textarea>
<p class="help-block text-danger"></p>
</div>
</div>
<br>
<div id="success"></div>
<div class="row">
<div class="form-group col-xs-12">
<button type="submit" class="btn btn-default">Odoslať</button>
</div>
</div>
</form>
</div>
</div>
</div>
(mein Python-Skript) get.cgi:
#!/usr/bin/python3.4
# Import modules for CGI handling
import cgi, cgitb
file = open('file.txt', mode='w')
form = cgi.FieldStorage()
name = form.getvalue('name')
email = form.getvalue('email')
message = form.getvalue('message')
file.write(name)
file.write(email)
file.write(message)
file.close()
und mein app.py die Modulhauptkolben ist
from flask import Flask, render_template, request
app = Flask(__name__)
app.secret_key = 'mypa$$w0rd'
@app.route('/')
@app.route('/index.html')
def index():
return render_template('index.html')
@app.route('/about.html')
def about():
return render_template('about.html')
@app.route('/contact.html')
def contact():
return render_template('contact.html')
@app.route('/post.html')
def sample_post():
return render_template('post.html')
if __name__ == '__main__':
app.run()
Ich betreibe es als loc Alhost. Ausgang, wenn ich auf SEND klicken (in meinem html entspricht es ODOSLAT in meiner Sprache): Nicht
gefundenDie angeforderte URL auf dem Server nicht gefunden wurde. Wenn Sie die URL manuell eingegeben haben, überprüfen Sie bitte Ihre Rechtschreibung und versuchen Sie es erneut.
Und Textfeld in Browsersuche sieht nun wie folgt aus:
http://127.0.0.1:5000/app/get.cgi?name=asdf&email=julo.marko%40gmail.com&message=asfasfasf
Haben Sie Ihren Webserver eingerichtet, um Python-Skripts auszuführen? Ist Ihr Skript als ausführbar markiert? Skripte werden normalerweise mit der Erweiterung '.cgi' benannt. Hast du das versucht? –
@JohnGordon schau dir meinen bearbeiteten Beitrag bitte an. –
@ Reti43 schau dir meinen editierten Beitrag bitte an. –