Tôi chỉ mới bắt đầu với bình và tôi đã bị đánh hơi. Tôi đang cố gắng viết một blog nhỏ để làm quen với khung làm việc vì vậy tôi đã tạo hai gói, một "auth" và "posts". Tôi đọc qua phần Ứng dụng lớn trong Flask docs.Bình: Sử dụng nhiều gói trong một ứng dụng
Thư mục của tôi trông giống như thế này.
>/root
>>run.py
>>/posts
>>>____init____.py
>>>views.py
>>>/templates
>>>/static
>>/auth
>>>____init____.py
>>>views.py
>>>/templates
>>>/static
các run.py trông như thế này:
from flask import Flask
from auth import auth_app
from posts import posts_app
auth_app.run()
posts_app.run()
/posts/__init__.py
và /auth/__init__.py
cái nhìn như thế này:
from flask import Flask
auth_app = Flask(__name__)
import auth.views
và views.py trông như thế này:
from auth import auth_app
@auth_app.route('/auth/')
def index():
return "hello auth!"
Nhưng bất cứ khi nào tôi chạy máy chủ, chỉ có localhost/auth/có sẵn, và mọi thứ khác cho một 404, som tôi giả định rằng các ứng dụng bài viết không được chạy.
Có ai giúp được không?
Bản thiết kế là một ý tưởng hay! –
Điều gì sẽ xảy ra nếu các bản thiết kế 'auth' và' post' phải sử dụng mô-đun 'models.py' được xác định ở cấp cơ sở, cùng với' run.py'?Sau đó, nó sẽ làm cho tinh thần để tuyên bố chúng như là bản thiết kế, ngay cả khi họ không "hoàn toàn độc lập" từ ứng dụng chính và do đó không thể tái sử dụng trong các ứng dụng khác mà không có cùng 'models.py'? Cảm ơn bạn! – aralar
@ miguel5 Những gì bạn định nghĩa là "độc lập" tùy thuộc vào bạn. Các bản thiết kế Flask giúp cung cấp một cách để tách những thứ mà Flask quan tâm: vị trí của tệp tĩnh và mẫu, URL và cách chúng ánh xạ tới chế độ xem của bạn, v.v. Nếu bạn chỉ muốn sử dụng để giữ các thư mục này khác nhau , nhưng vẫn dựa vào một 'model.py' duy nhất, thì điều đó là tốt. Nếu bạn muốn tách riêng các mô hình của mình thành các cấu trúc dữ liệu khác nhau, bạn cũng có thể làm điều đó. Bản thân Flask không quan tâm đến cách bạn lưu trữ tệp 'models.py' của bạn. –