Catch-All URL в кварте - PullRequest
       15

Catch-All URL в кварте

0 голосов
/ 08 мая 2018

Я пытаюсь создать универсальный маршрут в кварте, аналогичный тому, который используется в колбе, но маршрут не работает должным образом.

Настой:

from flask import Flask, request
app = Flask(__name__)

@app.route('/', defaults={'path': ''})
@app.route('/<path:path>')
def index(path):
  return 'Hello World'

Quart:

from quart import Quart, request
app = Quart(__name__)

@app.route('/', defaults={'path': ''})
@app.route('/<path:path>')
async def index(path):
  return 'Hello World'

Ошибка:

Running on http://0.0.0.0:5000 (CTRL + C to quit)
[2018-05-08 08:53:54,109] ERROR in app: Exception on request GET /
Traceback (most recent call last):
 File "/usr/local/lib/python3.6/site-packages/quart/app.py", line 1303, in handle_request
   return await self.full_dispatch_request(request_context)
 File "/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/asyncio/coroutines.py", line 110, in __next__
 return self.gen.send(None)
 File "/usr/local/lib/python3.6/site-packages/quart/app.py", line 1325, in full_dispatch_request
 result = await self.handle_user_exception(error)
 File "/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/asyncio/coroutines.py", line 110, in __next__
return self.gen.send(None)
File "/usr/local/lib/python3.6/site-packages/quart/app.py", line 819, in handle_user_exception
raise error
File "/usr/local/lib/python3.6/site-packages/quart/app.py", line 1323, in full_dispatch_request
result = await self.dispatch_request(request_context)
File "/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/asyncio/coroutines.py", line 110, in __next__
return self.gen.send(None)
File "/usr/local/lib/python3.6/site-packages/quart/app.py", line 1371, in dispatch_request
return await handler(**request_.view_args)
TypeError: index() missing 1 required positional argument: 'path'

1 Ответ

0 голосов
/ 08 мая 2018

Это было задано в Quart github хранилище , это ошибка в Quart, которая была исправлена. Подход, приведенный здесь, является правильным. Заметьте, я автор Quart.

...