Это очень общий вопрос, и я не ожидаю кода ответа (пример был бы хорош), но ссылка или тема для чтения.
У меня есть код Python для REST API для микросервисов (с использованием Tornado)) и я хочу сделать пользовательский интерфейс более дружелюбным.
например, я получил 3 файла:
book.py:
class Book:
def __init__(self):
self.books = []
def add_book(self, title, author):
new_book = {}
new_book["Title"] = title
new_book["Author"] = author
self.books.append(new_book)
print("Book: {0}".format(new_book))
return json.dumps(new_book)
def get_all_books(self):
return self.books
def json_list(self):
return json.dumps(self.books)
api.py:
books = Book()
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write("Book Microservice v1")
def make_app():
return tornado.web.Application([
(r"/v1", MainHandler),
(r"/v1/addbook", AddHandler, dict(books = books)),
(r"/v1/getbooks", GetHandler, dict(books = books)),
])
if __name__ == "__main__":
app = make_app()
app.listen(8888)
tornado.ioloop.IOLoop.current().start()
addhandler.py:
class AddHandler(tornado.web.RequestHandler):
def initialize(self, books):
self.books = books
def get(self):
title = self.get_argument('title')
author = self.get_argument('author')
result = self.books.add_book(title, author)
self.write(result)
Когда я хочу добавить книгу, я набираю:
http://127.0.0.1:8888/v1/addbook?title="Harry Potter"&author="J.K Rowling"
Чтобы отобразить все книги, которые я набираю:
http://127.0.0.1:8888/v1/addbook
Как мне сделать его более дружелюбным?Я имею в виду, что пользователь войдет на сайт и нажмет на кнопку «Добавить книгу» и будет доставлен на страницу с текстовыми полями для имени автора.И список книг вместо текущего вывода:
[{"Title": "\"How to Make a Million Dollars Blogging\"", "Author": "\"Bill Ward\""}, {"Title": "\"Harry Potter\"", "Author": "\"J.K Rowling\""}]
* код от здесь от Билл Уорд