X 서버에서 Python으로 만든 웹 응용 프로그램을 실행합니다.
개요
나는 파이톤으로 간단한 웹 애플리케이션을 만들었다.프로그램으로 먼저 개인용 컴퓨터의 로컬 호스트(localhost) 테스트를 거쳐 X 서버에 업로드했다.화면에 영숫자만 나오면 간단하지만 한자를 나타내기 위해 시간이 좀 걸렸기 때문에 절차를 정리해 보겠습니다.
참고로 제작된 프로그램(cgitest.py)은 다음과 같이 형식적으로 숫자를 입력하고 덧셈 결과를 표시하는 간단한 프로그램이다.
cgitest.py
#!/usr/bin/env python3.4
# -*- coding: utf-8 -*-
# 足し算を行うプログラム
import cgi
import datetime as dt
import sys
import io
# 注1 エックスサーバーで漢字を表示するために必要
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
# ヘッダの出力
print("Content-type: text/html; charset=UTF-8")
print("")
# 送信されたフォームデータを取得する
form = cgi.FieldStorage()
# フォームに入力があるか?
if (not 'x' in form) or (not 'y' in form):
# 入力フォーム
print("""
<form>
<input type="text" name="x"> +
<input type="text" name="y">
<input type="submit" value="計算">
</form>
""")
else:
# 結果を表示
x = form.getvalue("x", "0")
y = form.getvalue("y", "0")
add = int(x) + int(y)
print("答えは", add, "です")
또한 실험용 폴더는 c:\Python입니다. 로컬 호스트에서 실행하기 위해서는 c:\Python 아래에'cgi-bin'이라는 하위 폴더를 만들어야 합니다. 프로그램은 여기에 저장해야 합니다.로컬 호스트에서 프로그램 실행
로컬 호스트 시작
명령 프롬프트에서 현재 폴더를 cd 명령으로 cgi-bin이 있는 폴더로 이동합니다(여기는 "c:\Python"). 다음 명령을 입력합니다.
python -m http.server --cgi 8080
http.서버는 웹 서버를 실현하는 클래스를 제공하는 모듈입니다.원래는 웹 프로그램으로 서버 기기를 한 대 더 준비해 테스트해야 하는데 어렵기 때문에 같은 기기에서 가상 서버를 준비할 수 있다는 것은 드문 기능이다.또한 cgi는 Common Gateway Interface의 약자로 서버에서 프로그램을 실행하는 구조입니다."8080은 포트 번호라고 불리며 서버 기기에서 http 프로토콜의 정보를 사용한 수신구를 나타낸다.어쨌든python에서 만든 웹 프로그램을 같은 기계에서 실험하는 주문으로 삼으면 된다고 생각합니다.결과적으로 명령 프롬프트에 다음과 같은 내용이 표시되면 준비가 완료됩니다.
브라우저에서 프로그램 시작
브라우저에서 다음 내용을 주소 표시줄에 입력하면 프로그램이 시작하여 창을 표시합니다.로컬 호스트는 c:\Python에서 시작되며 여기서 cgi-bin 폴더의 프로그램: cgitest입니다.py를 호출하는 중입니다.
창에 숫자를 입력하고 계산 단추를 누르십시오.
다음 결과가 표시됩니다.여기서 주의해야 할 것은 주소 표시줄의 표시이다.프로그램 변수 x에서 1, y에 두 개의 숫자가 대입되었는지 확인할 수 있습니다.
이상은 로컬 호스트를 사용하여python을 시작한 프로그램입니다.
X 서버에서 실행
시험이 잘 치러졌기 때문에 제작된 프로그램을 X 서버에 올리면 되지만 실제로는 조금 힘들었다.특히 한자를 표시하기 위해서는 약간의 노력이 필요하다.그래서 시도해 본 일들을 정리해 보자.
절차상의 요점
- 마찬가지로 다음 기술도 필요합니다.sys.stdout는 print 문장의 출력 목적지를 표시하고, 여기도utf8을 지정합니다.한자를 사용할 때 이 말이 없으면 브라우저에서 화면이 하얗게 변한다.
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
X 서버의 주요 특징
이상, 많이 썼습니다.꼭 필요한 것은 아닐지 몰라도 XS 서버에 올린 뒤 한자가 잘 표현되지 않아 다양한 반복 실험의 결과를 정리했다.참고하시기 바랍니다.
Reference
이 문제에 관하여(X 서버에서 Python으로 만든 웹 응용 프로그램을 실행합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ictsr4/items/c825bc5d22aaf3275c01텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)