Подтвердить что ты не робот

Как запустить python script на веб-странице

Я очень новичок в python. Просто знайте, что такое python. Я создал код ниже (в Python IDLE):

print "Hi Welcome to Python test page\n";
print "Now it will show a calculation";
print "30+2="; print 30+2;

Затем я сохранил эту страницу в моем localhost как index.py

Я запускаю script, используя http://localhost/index.py

Но он не показал выполненный python script. вместо этого он показал приведенный выше код как HTML. В чем проблема? пожалуйста, скажите мне, как запустить python на веб-странице?

4b9b3361

Ответ 1

Чтобы ваш код показывался, вам нужно несколько вещей:

Во-первых, должен быть сервер, который обрабатывает HTTP-запросы. В данный момент вы просто открываете файл с Firefox на локальном жестком диске. Требуется сервер типа Apache или что-то подобное.

Во-вторых, предполагая, что теперь у вас есть сервер, который обслуживает файлы, вам также понадобится что-то, что интерпретирует код как код Python для сервера. Для пользователей Python переход к решению в настоящее время является mod_wsgi. Но в более простых случаях вы можете придерживаться CGI (подробнее здесь), но если вы хотите легко создавать веб-страницы, вам следует использовать существующую веб-среду Python, такую как Django.

Установка этого может быть довольно хлопотно, так что будьте готовы.

Ответ 2

Как отмечали другие, для Python существует множество веб-фреймворков.

Но, видя, что вы только начинаете с Python, проще CGI script:

  • Переименуйте script в index.cgi. Вам также нужно выполнить chmod +x index.cgi, чтобы предоставить ему права выполнения.

  • Добавьте эти 2 строки в начало файла:

#!/usr/bin/python   
print('Content-type: text/html\r\n\r')

После этого код Python должен работать так же, как и в терминале, за исключением того, что вывод идет в браузер. Когда вы получите эту работу, вы можете использовать модуль cgi, чтобы вернуть данные из браузера.

Примечание. Предполагается, что на вашем веб-сервере работает Linux. Для Windows может работать #!/Python26/python.

Ответ 3

с помощью библиотеки фляг в Python вы можете достичь этого. не забудьте сохранить свою HTML-страницу в папке с именем "templates" внутри, где вы запускаете ваш скрипт на python.

так ваша папка будет выглядеть

  1. шаблоны (папка, которая будет содержать ваш HTML файл)
  2. ваш скрипт на питоне

это небольшой пример вашего скрипта на python. Это просто проверяет на плагиат.

from flask import Flask
from flask import request
from flask import render_template
import stringComparison

app = Flask(__name__)

@app.route('/')
def my_form():
    return render_template("my-form.html") # this should be the name of your html file

@app.route('/', methods=['POST'])
def my_form_post():
    text1 = request.form['text1']
    text2 = request.form['text2']
    plagiarismPercent = stringComparison.extremelySimplePlagiarismChecker(text1,text2)
    if plagiarismPercent > 50 :
        return "<h1>Plagiarism Detected !</h1>"
    else :
        return "<h1>No Plagiarism Detected !</h1>"

if __name__ == '__main__':
    app.run()

Это небольшой шаблон HTML файла, который используется

<!DOCTYPE html>
<html lang="en">
<body>
    <h1>Enter the texts to be compared</h1>
    <form action="." method="POST">
        <input type="text" name="text1">
        <input type="text" name="text2">
        <input type="submit" name="my-form" value="Check !">
    </form>
</body>
</html>

Это небольшой небольшой способ, с помощью которого вы можете выполнить простую задачу сравнения двух строк и который можно легко изменить в соответствии с вашими требованиями.

Ответ 4

Если вы используете свой собственный компьютер, установите программное обеспечение под названием XAMPP (или WAMPP либо работает). Это в основном сервер веб-сайта, который работает только на вашем компьютере. Затем, как только он будет установлен, перейдите в папку xampp и дважды щелкните папку htdocs. Теперь вам нужно создать html файл (я назову его runpython.html). (Не забудьте переместить файл python в htdocs)

Добавьте в это ваше тело html (и входы при необходимости)

<form action = "file_name.py" method = "POST">
   <input type = "submit" value = "Run the Program!!!">
</form>

Теперь, в файле python, мы в основном собираемся распечатать HTML-код.

#We will need a comment here depending on your server. It is basically telling the server where your python.exe is in order to interpret the language. The server is too lazy to do it itself.

    import cgitb
    import cgi

    cgitb.enable() #This will show any errors on your webpage

    inputs = cgi.FieldStorage() #REMEMBER: We do not have inputs, simply a button to run the program. In order to get inputs, give each one a name and call it by inputs['insert_name']

    print "Content-type: text/html" #We are using HTML, so we need to tell the server

    print #Just do it because it is in the tutorial :P

    print "<title> MyPythonWebpage </title>"

    print "Whatever you would like to print goes here, preferably in between tags to make it look nice"

Ответ 5

С вашим текущим требованием это будет работать:

    def start_html():
        return '<html>'

    def end_html():
        return '</html>'

    def print_html(text):
        text = str(text)
        text = text.replace('\n', '<br>')
        return '<p>' + str(text) + '</p>'
if __name__ == '__main__':
        webpage_data =  start_html()
        webpage_data += print_html("Hi Welcome to Python test page\n")
        webpage_data += fd.write(print_html("Now it will show a calculation"))
        webpage_data += print_html("30+2=")
        webpage_data += print_html(30+2)
        webpage_data += end_html()
        with open('index.html', 'w') as fd: fd.write(webpage_data)

откройте index.html и вы увидите, что вы хотите

Ответ 6

Что ж, OP не говорил о стороне сервера или клиента, поэтому я просто оставлю это здесь, если кто-то вроде меня ищет сторону клиента:

http://skulpt.org/using.html

Skulpt - это реализация Python для запуска на стороне клиента. Очень интересно, плагин не требуется, просто JS.