Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 26, 2018 17:38:52

RomanShan90
Зарегистрирован: 2018-01-26
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с вызовом сценария питон по кнопке из браузера!

Доброго времени суток,

питон изучаю недавно. Столкнулся с проблемой: при нажатии кнопки из веб-формы не вызывается сценарий на питоне, хотя по идее должен. Господа эксперты, что я делаю не так?)

вот текст файла HTML: cgi101.html

<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='UTF-8'>
<title>Interactive Page</title>
</head>
<body>
<form method=POST action=“cgi101.py”>
<P><B>Enter your name:</B>
<P><input type=text name=user>
<P><input type=submit>
</form>
</body>
</html>

вот текст файла питон: cgi101.py

#! /usr/bin/env python3
import cgi
form = cgi.FieldStorage() # парсинг данных формы
print('Content-type: text/html\n') # http-заголовок плюс пустая строка
print('<title>Reply Page</title>') # html-разметка ответа
if not ‘user’ in form:
print('<h1>Who are you?</h1>')
else:
print('<h1>Hello <i>%s</i>!</h1>' % ‘fddfdfdfdf’)

Все файлы находятся в одной директории. Помогите пожалуйста, уже голову всю сломал!))

Офлайн

#2 Янв. 26, 2018 17:52:37

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10003
Репутация: +  857  -
Профиль   Отправить e-mail  

Помогите с вызовом сценария питон по кнопке из браузера!

Офлайн

#3 Янв. 27, 2018 09:10:15

RomanShan90
Зарегистрирован: 2018-01-26
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с вызовом сценария питон по кнопке из браузера!

py.user.next
Была тема.

Там немного другая тема, у него хоть что-то работало, у меня же вообще нет(

очень странно, что при нажатии кнопки на веб форме у меня то открывается окно с предложением сохранить файл сценария питона (это при открытии из пайчарм), то на форме открывается весь код сценария! Что делать вообще не знаю! Очень прошу помочь, так как я уже все варианты перепробовал.

Код веб-сервера стандартный:

import os, sys
from http.server import HTTPServer, CGIHTTPRequestHandler
webdir = ‘.’ # место, где находятся файлы html и подкаталог cgi-bin
port = 80 # по умолчанию http://localhost/, иначе используйте
# http://localhost:xxxx/
os.chdir(webdir) # перейти в корневой каталог HTML
srvraddr = (“”, port) # имя хоста и номер порта
srvrobj = HTTPServer(srvraddr, CGIHTTPRequestHandler)
srvrobj.serve_forever() # запустить как бесконечный фоновый процесс

доступы на чтение файла сценария вроде есть, так как браузер его в окне открывает же!))

Прикреплённый файлы:
attachment Безымянный.png (89,8 KБ)

Офлайн

#4 Янв. 27, 2018 09:14:08

RomanShan90
Зарегистрирован: 2018-01-26
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с вызовом сценария питон по кнопке из браузера!

что я делаю.
1. запускаю через консоль веб сервер
2. запускаю страницу в браузере
3. нажимаю на кнопку и лицезрею целый текст скрипта.

Очень прошу помочь, как так даже не понимаю, в чем засада!(

Офлайн

#5 Янв. 27, 2018 09:58:37

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10003
Репутация: +  857  -
Профиль   Отправить e-mail  

Помогите с вызовом сценария питон по кнопке из браузера!

Ты скачал тот архив, который я там выложил? Надо его скачать и его запускать.
Где ты сервер запускаешь? Выложи скриншот.
Как ты страницу cgi101.html на сервере открываешь? Выложи скриншот.



Отредактировано py.user.next (Янв. 27, 2018 10:05:06)

Офлайн

#6 Янв. 27, 2018 10:04:39

RomanShan90
Зарегистрирован: 2018-01-26
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с вызовом сценария питон по кнопке из браузера!

py.user.next
Ты скачал тот архив, который я там выложил? Надо его скачать и его запускать.
да, скачал, запускал. То же самое, выводит текст только. Скрины могу дать)

Офлайн

#7 Янв. 27, 2018 10:07:18

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10003
Репутация: +  857  -
Профиль   Отправить e-mail  

Помогите с вызовом сценария питон по кнопке из браузера!

Давай скрины запуска сервера и открытия страницы на нём. Все файлы должны быть точно разложены, как в архиве.



Отредактировано py.user.next (Янв. 27, 2018 10:07:43)

Офлайн

#8 Янв. 27, 2018 10:07:26

RomanShan90
Зарегистрирован: 2018-01-26
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с вызовом сценария питон по кнопке из браузера!

вот скрин при нажатии кнопки. При открытии через пайчарм, так же предлагает только файл сохранить(

Прикреплённый файлы:
attachment Безымянный.png (105,7 KБ)

Офлайн

#9 Янв. 27, 2018 10:08:28

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10003
Репутация: +  857  -
Профиль   Отправить e-mail  

Помогите с вызовом сценария питон по кнопке из браузера!

Ну ты должен на localhost открывать страницу, а не с диска. Для этого надо запустить сервер (который в архиве лежит) и он откроет на localhost порт для подключения браузера.



Отредактировано py.user.next (Янв. 27, 2018 10:09:28)

Офлайн

#10 Янв. 27, 2018 10:27:13

RomanShan90
Зарегистрирован: 2018-01-26
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с вызовом сценария питон по кнопке из браузера!

py.user.next
Ну ты должен на localhost открывать страницу, а не с диска. Для этого надо запустить сервер (который в архиве лежит) и он откроет на localhost порт для подключения браузера.
да, спасибо помогло!)) а в чем разница между открытия с диска и локал хостом? Можете для чайников объяснить?) Я же вроде в веб сервере прописываю в сервере:
webdir = ‘.’ # место, где находятся файлы html и подкаталог cgi-bin
os.chdir(webdir)
т.е. здесь, как я понял, задается каталог, где файл хтмл лежит, а в кнопке указываю адрес сценария питон, который нужно запустить. По логике должно работать) В чем подвох?)

Отредактировано RomanShan90 (Янв. 27, 2018 10:28:06)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version