2015-01-06 25 views
5

Tôi đang chạy Flask và Eve trên máy chủ cục bộ cùng một lúc. Ứng dụng Flask phục vụ các tệp tĩnh và đưa ra yêu cầu cho ứng dụng Eve để nhận một số dữ liệu. Tôi chỉ muốn chạy Eve mà không có ứng dụng Flask riêng biệt. Làm thế nào tôi có thể phục vụ các tệp tĩnh với Eve?Cung cấp các tệp tĩnh với Eve

+0

whats ứng dụng của bạn –

+0

ứng dụng của tôi rất đơn giản trò chuyện + tìm kiếm ứng dụng sử dụng angularjs và python eve – user3458284

+0

vì vậy bạn cần kiểm tra ứng dụng của mình trong localhost –

Trả lời

4

Một cách tiếp cận tốt hơn sẽ là tiền tố/api cho tất cả các API REST. Điều này có thể được thực hiện bằng cách thêm URL_PREFIX="api" trong settings.py.

Bằng cách thực hiện việc này bất cứ khi nào có yêu cầu, Eve (Flask) sẽ không trả lại danh mục tài nguyên thay vì trả về trang như được đưa ra trong run.py.

Để phục vụ nội dung tĩnh thêm trang trí tuyến đường phù hợp trong run.py,

@app.route('/') 
def index(): 
    return app.send_static_file('index.html') 

app.run(host="0.0.0.0", debug=True) 
+0

Tôi thấy điều này chỉ làm việc với URL_PREFIX chứ không phải @ app.route. Câu trả lời tốt. –

3

Eve là ứng dụng Flask (phân lớp) để quy tắc chung mọi thứ hoạt động với Flask cũng hoạt động với Eve. Bạn có thể đăng ký kế hoạch chi tiết hoặc thêm tuyến mới.

Cũng xem câu trả lời này cho một liên kết đến một ví dụ làm việc: Servicing html requests with Eve

+0

cảm ơn u rất nhiều. – user3458284

+0

bạn được chào đón. Xin vui lòng chấp nhận câu trả lời nếu bạn cảm thấy như nó đã giúp bạn tìm một giải pháp :) –

1

thử thiết IMPORT_NAME arg cho Eve:

app = Eve(import_name=__name__)

Các vấn đề liên quan