2016-11-02 4 views
0

Hallo Leute, ich habe dieses alte Tutorial verfolgt. Kann mir jemand sagen, wo sich app.sqlite befindet? Auch ist app.sqlite eine Datenbank, die ich gemacht habe Ich bin mir nicht sicher, weil ich will es finden und überprüft, ob der Tisch gemacht wird. Es gibt auch einen Weg, um den Ort zu ändern, wo ich es will: DWo befindet sich App.sqlite?

Dies ist die Konfigurationsdatei.

import os 
basedir = os.path.abspath(os.path.dirname(__file__)) 
SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(basedir, 'app.sqlite') 
SQLALCHEMY_MIGRATE_REPO = os.path.join(basedir, 'db_repository') 

Und das ist die Datei, in der ich versuche, RESTful API zu machen, ich habe setzen alles noch nicht in aber da bin ich verloren.

from flask import Flask, jsonify 
from flask_sqlalchemy import SQLAlchemy 

app = Flask(__name__) 
app.config.from_pyfile('Config.py') 
db = SQLAlchemy(app) 

class User(db.Model): 
    User_ID = db.Column(db.Integer, primary_key = True) 
    firstName = db.Column(db.String(20)) 
    lastName = db.Column(db.String(20)) 

def __init__(self,firstName, lastName): 
    self.firstName = firstName 
    self.lastName = lastName 
    db.createAll() 

if __name__ == '__main__': 
    app.run() 
+0

drucken 'basedir' und Sie sehen. – furas

+0

oh danke, gibt es einen Grund, warum ich die Datei nicht sehen kann? es zeigt mir den Standort, aber wenn ich dort hingehe, ist es nicht –

+0

vielleicht schafft es es noch nicht. Oder Sie haben ein anderes Problem - Flask im Debug-Modus ausführen, um im Browser jeden Fehler zu sehen. – furas

Antwort

0

Sie können app.sqlite im selben Verzeichnis wie die Haupt-Python-Datei platzieren. Um alle Tabellen zu erstellen, können Sie die folgende Methode, um Ihren Code hinzufügen:

@app.before_first_request 
def startup(): 
    db.create_all() 

Dies wird ausgeführt, wenn Sie Ihren Server starten und alle Tabellen erstellen. Wenn Sie den Server neu starten, wird die Methode weiterhin ausgeführt, aber die Tabellen werden nicht erneut erstellt, da sie bereits vorhanden sind.

+0

es sagt mir, ich muss selbst in die Methode setzen. –

+0

Sie sollten dies nicht tun müssen, da Ihre 'db' kein Teil eines Objekts ist. Kannst du den Fehler hier einfügen? –

+0

es sagt Methode muss einen ersten Parameter haben, in der Regel als "Selbst" –

Verwandte Themen