Вы можете использовать свой CSV-файл следующим образом:
Также, если вы используете Falcon> = 1.4:
import falcon
import mimetypes
class StaticResource(object):
def on_get(self, req, resp):
csv_file_path = "test.csv"
resp.content_type = mimetypes.guess_type(csv_file_path)[0]
resp.stream, resp.stream_len = open(csv_file_path)
app = falcon.API()
app.add_route('/static', StaticResource())
Если вы уже создали файл, создайте объект файла:
import falcon
class StaticResource(object):
def on_get(self, req, resp):
csv_file_path = "test.csv"
resp.status = falcon.HTTP_200
resp.content_type = 'text/csv'
with open(csv_file_path, 'r') as f:
resp.body = f.read()
app = falcon.API()
app.add_route('/static', StaticResource())
Если у вас уже есть файловый объект:
import falcon
class StaticResource(object):
def on_get(self, req, resp):
csv_file_path = "test.csv"
with open(csv_file_path, 'w') as csvfile:
writer = csv.DictWriter(csvfile, fieldnames=csv_columns)
writer.writeheader()
writer.writerows(response_data)
csvfile.close()
resp.status = falcon.HTTP_200
resp.content_type = 'text/csv'
resp.body = writer
app = falcon.API()
app.add_route('/static', StaticResource())
Надеюсь, я правильно отвечу на ваш вопрос.Кроме того, вы можете обратиться к этому документу https://falcon.readthedocs.io/en/stable/api/api.html#falcon.API.add_static_route для обслуживания каталога.