import Fehler

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
baum352
User
Beiträge: 1
Registriert: Samstag 4. Mai 2024, 05:52

ich habe folgende python file

Code: Alles auswählen

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_cors import CORS

app = Flask(__name__)
CORS(app)

app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///mydatabase.db"
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False

db = SQLAlchemy(app)
jetzt versuche ich das in main.py zu importen

Code: Alles auswählen

from flask import request, jsonify
from config import app,db
from models import Contact



@app.route("/contacts", methods =["GET"])
def get_contacts():
    contacts = Contact.query.all()
    json_contacts = list(map(lambda x: x.to_json(), contacts))
    return jsonify({"contacts": json_contacts})

if __name__ == "__main__":
    with app.app_context():
        db.create_all()

    app.run(debug = True)
und ich bekomme folgenden Fehler

Traceback (most recent call last):
File "c:\Users\Nicov\Uni\FlaskDemo\backend\main.py", line 2, in <module>
from config import app,db
ImportError: cannot import name 'app' from 'config' (c:\Users\Nicov\Uni\FlaskDemo\backend\config.py)

ich habe keine Ahnung was ich da tun soll, die genannten files befinden sich alle im gleichen Ordner
Benutzeravatar
__blackjack__
User
Beiträge: 13185
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Das Problem kann ich bei mir nicht nachvollziehen. Hast Du eventuell die ``config.py`` nicht gespeichert oder editierst eine andere ``config.py`` so dass da tatsächlich `app` nicht definiert wird?

`x` ist übrigens kein so guter Name für ein `Contact`-Objekt, und man muss nicht jedes kleine Zwischenergebnis an einen Namen binden.

`list()` + `map()` + ``lambda`` schreibt sich normalerweise besser als „list comprehension“.

Code: Alles auswählen

@app.get("/contacts")
def get_contacts():
    return jsonify(
        {"contacts": [contact.to_json() for contact in Contact.query.all()]}
    )
“There will always be things we wish to say in our programs that in all known languages can only be said poorly.” — Alan J. Perlis
Antworten