HTML/JS가 없는 웹 앱인 그래프에 진행 상황을 표시하는 간단한 체중 추적기를 만들었습니다.
나는 Abstra Cloud's lib를 사용하여 이 문제를 해결했습니다. 예를 들어 "input"에서 "read"로 명령을 업데이트하는 것만으로 스크립트에서 UI와 탐색을 생성할 수 있었습니다. 전체 웹 앱은 Python 파일 1개 + tsv 파일 1개입니다.
친구들과 공유하기 위해 인증 위젯을 사용했지만 여기에서는 간단한 사용자 이름을 선택하여 모든 사람이 번거로움 없이 테스트할 수 있도록 했습니다. hackerforms 라이브러리 외에도 Pandas와 Plotly를 사용하여 그래프를 만들고 표시했습니다.
정말 간단한 스크립트지만 단 몇 줄의 코드로 이렇게 유용한 도구를 빌드할 수 있다는 점이 마음에 들었습니다.
Click here to try out the tracker
소스 코드:
from hackerforms import *
import pandas as pd
from os.path import exists
import time
import datetime
import plotly.express as px
user = read("What's your username? Choose one and use it everytime to see your progress!")
option = read_multiple_choice(f'Hey {user}. What would you like to do?', ['Insert new weight', 'See progress'], button_text=None)
if not exists("weights.tsv"):
with open("weights.tsv", "a") as f:
f.write("user\tweight\tdate\n")
if option == 'Insert new weight':
now = time.localtime()
year = now.tm_year
month = now.tm_mon
day = now.tm_mday
date = read_date("Add date of measurement", initial_value=datetime.date(year,month,day))
weight = read_number("Fill your weight")
with open("weights.tsv", "a") as f:
f.write(f"{user}\t{weight}\t{date}\n")
df = pd.read_csv("weights.tsv", delimiter="\t")
df.date = df.date.astype('datetime64')
df = df.sort_values('date')
df = df[df.user == user]
fig = px.line(df, x='date', y='weight')
display_plotly(fig)
Reference
이 문제에 관하여(HTML/JS가 없는 웹 앱인 그래프에 진행 상황을 표시하는 간단한 체중 추적기를 만들었습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/ekacelnik/i-made-a-simple-weight-tracker-that-displays-progress-in-a-graph-a-web-app-without-htmljs-4peh텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)