저는 python과 html에 매우 익숙하며 파이썬 (cgi로)을 사용하여 simplehttpserver를 실행하려고했습니다. 이 서버에서 사용자 geolocation을 표시하는 location.py 파일을 실행할 수 있습니다. 나는이 위치를 가져 와서 내 PC의 텍스트 파일에 쓰고 싶지만이 작업을 수행하는 방법을 모른다. 현재 내 location.py는 실제로 html5 페이지이며 python으로로드되지만이 페이지에서 필요한 정보를 추출하는 방법을 알지 못합니다.html에서 python으로 정보 전달하기
p.s. 이 영감은 내 아이폰과 내 랩톱이 동일한 와이파이 네트워크 (임시 휴대용 핫스팟)를 공유하고 내 랩톱이 Google Earth에서 내 아이폰의보다 정확한 GPS를 사용하도록하는 것입니다. 이것은 결국 현재의 lat와 long으로 지속적으로 업데이트되는 kml 파일에 작성하려고합니다. 이 작업을 수행하는 데 더 쉬운 방법이있을 수 있지만 파이썬을 조금 배우는 것이 좋은 아이디어라고 생각했습니다.
내 location.py 파일
#!/python
print("Content-type: text/html\n\n")
print("""\
<html>
<head>
<p id="demo">Test:</p>
<script>
var x=document.getElementById("demo");
function getLocation()
{
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(showPosition);
}
else{x.innerHTML="Geolocation is not supported by this browser.";}
}
function showPosition(position)
{
x.innerHTML="Latitude: " + position.coords.latitude +
"<br>Longitude: " + position.coords.longitude;
}
window.onload = getLocation;
</script>
</head>
<body>
</body>
</html>""")
그리고 내 서버 파일 (webserver.py)
import http.server
def main():
server_address = ("", 8000)
handler = http.server.CGIHTTPRequestHandler
handler.cgi_directories = ['/python']
server = http.server.HTTPServer(server_address, handler)
try:
server.serve_forever()
except KeyboardInterrupt:
server.socket.close()
if __name__ == '__main__':
main()
정확하게 해결되었습니다. 나는 여분의 javascript를 showposition 함수로 옮기고 그 수를 '+ position.coords.latitude +'로 바 꾸었습니다. 그것은 꿈처럼 일했습니다. 괜찮으 시다면 두 개의 스크립트가있는 것에 대해 조금 더 설명해주십시오. 나는 새로운 Python을 두 번째 스크립트에 넣고 실행 시키면 (아마도 매우 순진하게) 시도해 보았습니다. 일단 실행하면 처음에는 작동하지만 작동하지 않는 것 같습니다. 또한, 매번 save 스크립트를 수동으로 실행하는 것보다 클리너에 대해 생각하고 있다고 상상해보십시오! 다른 스크립트에서 내 저장 스크립트를 참조해야합니까? –
모든 저장 부분을 (예를 들어) ** save_location.py **라는 스크립트로 옮기고 cgi 디렉토리에 넣을 수 있습니다. javascrit를 호출하면 req.open ('GET', ' 'location.py? ...);'req.open ('GET ','save_location.py? ...) '에 대해. 이 호출은 AJAX를 사용하여 수행되므로 비동기 적이므로 최소한 사용했을 때는 출력이 표시되지 않습니다. AJAX를 배우려면 http://www.w3schools.com/ajax/ajax_intro.asp 또는 http://www.webmonkey.com/2010/02/ajax_for_beginners/를 확인하는 것이 좋습니다. –