ModuleNotFoundError: нет модуля с именем 'first' - PullRequest
1 голос
/ 22 апреля 2020

Я пытаюсь создать базу данных в своем терминале, но когда я пытаюсь это сделать, я всегда получаю эту ошибку, когда использую from first import db:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'first'

Вот мой код

from flask import Flask, render_template
from flask_sqlalchemy import SQLAlchemy
from datetime import datetime

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///posts.db'
db = SQLAlchemy(app)

class BlogPost(db.Model):
    id = db.Column(db.Integer, primary_key= True)
    Title = db.Column(db.String(100), nullable= False)
    Content = db.Column(db.Text, nullable= False)
    Date_posted = db.Column(db.DateTime, nullable= False, default=datetime.utcnow)

    def __repr__(self):
        return "Blog Post" + str(self.id)


all_posts = [

    {
        'Title': 'Post 1',
        'Content': "This is the first content"

     },
    {
        'Title': 'Post 2',
        'Content': 'This is the second content'
    }
]

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

@app.route('/blog-posts')
def blog_posts():
    return render_template("posts.html", posts = all_posts)


@app.route('/home')
def hello():
    return "My first python website"


if __name__ == '__main__':
    app.run(debug= True)

У меня установлена ​​только python 3.8.

В чем может быть проблема? Я искал inte rnet и использовал все советы на других платформах, но пока не нашел решения. Flask и flask -sqlalchemy установлены правильно.

Это видео на YouTube, которое я использую в качестве руководства при создании этого проекта: https://www.youtube.com/watch?v=3mwFC4SHY-Y

1 Ответ

0 голосов
/ 24 апреля 2020

Я полагаю, вы создали файл python с именем first. Я перечисляю, что могло быть не так:

  1. Вы находитесь не в том каталоге.
  2. Вы не установили необходимый пакет. (маловероятно)
  3. В соответствии с руководством, имя файла app.py, поэтому он выполняет from app import db. Просто убедитесь, что у вас правильное имя файла.

Я не могу думать ни о какой другой вероятной причине, если только first не является пакетом, созданным вами для хранения python проекта файлы типа routes.py, models.py, et c. В этом случае вам нужно иметь файл __init__.py в каталоге пакета и инициализировать app и db в __init__.py файле

...