[점프투플라스크] import error

선생님 안녕하세요.
점프 투 플라스크 2-09까지 무사히 잘 맞추었습니다.

2-10 폼 모듈로 데이터 검증 더 쉽게 하기 에서
아래와 같은 에러를 만났습니다.

ImportError: No module named views

제 소스 코드는 여기에 있고
https://github.com/sundoforce/jumpToFlask/blob/main/pybo/init.py#L22
오타가 있는지 선생님 github에서 예제 코드도 똑깥이 복사해서
붙여 넣어 보았지만 ,
어제, 오늘 진행이 되지 않고 있습니다.

에러 나는 부분은
21라인
from .views import main_views, question_views, answer_views

부분입니다.

https://youtu.be/gBTWXTZYqwg?t=44

pycharm에서 commoad(ctrl) + 해당 뷰 클릭 했을때
해당 소스코드로 이동되는것 보면 경로문제는 아닌것 같습니다.

pyenv에서 flask 버전 문제인것 같기도 하고요..

조언 부탁드립니다.

감사합니다.

https://stackoverflow.com/questions/37111998/why-from-import-views-can-solve-circle-import-in-flask

쿠우아저씨 1677

M 2020년 12월 20일 2:52 오후

목록으로
2개의 답변이 있습니다. 1 / 1 Page

안녕하세요.

제가 sundoforce님의 깃허브에 올라가 있는 소스로 돌려보았습니다.

c:\projects> git clone https://github.com/sundoforce/jumpToFlask myproject
c:\projects> cd myproject
c:\projects\myproject> set FLASK_APP=pybo
c:\projects\myproject> set FLASK_ENV=development
c:\projects\myproject> flask run

다만, 소스에 오류가 있어서 다음과 같이 수정했는데 동작하는 것으로 봐서는 환경문제는 아닌것 같습니다.
환경변수와 flask run 을 실행한 위치등을 확인해 보세요.

__init__.py

#-*-coding:utf-8-*-
from flask import Flask
from flask_migrate import Migrate
from flask_sqlalchemy import SQLAlchemy

import config

db = SQLAlchemy()
migrate = Migrate()


def create_app():
    app = Flask(__name__)
    app.config.from_object(config)

    # ORM
    db.init_app(app)
    migrate.init_app(app, db)
    from . import models

    # 블루프린트
    from .views import main_views
    app.register_blueprint(main_views.bp)
    #app.register_blueprint(question_views.bp)
    #app.register_blueprint(answer_views.bp)

    return app

main_views.py

from flask import Blueprint, url_for
from werkzeug.utils import redirect

bp = Blueprint('main', __name__, url_prefix='/')

@bp.route('/hello')
def hello_pybo():
    return 'Hello, Pybo!'


@bp.route('/')
def index():
    return 'Hello, Pybo!'
    # return redirect(url_for('question._list'))

박응용

2020년 12월 20일 9:32 오후

네 선생님 한번 해보겠습니다 감사합니다 - 쿠우아저씨님, 2020년 12월 20일 9:37 오후 추천 , 대댓글

answer_views.py 파일 안에 한 줄이 부족한 것 같습니다.

def create(question_id): 의 가장 아랫줄에 아래의 코드를 입력해보세요.
(참고: 2-10의 "답변 등록기능 수정하기"에서 [4] 항목 코드 참조)

return render_template('question/question_detail.html', question=question, form=form)

Game8oy

2020년 12월 20일 5:51 오후

감사합니다 ☺️ - 쿠우아저씨님, 2020년 12월 20일 7:57 오후 추천 , 대댓글
수정했는데도 ```ImportError: No module named views``` views를 찾지 못하는것 같아요 도움주셔서 감사합니다 해결 되면 반듯이 댓글 드리겠습니다 주말 마무리 잘하세요 도와주셔서 감사합니다. - 쿠우아저씨님, 2020년 12월 20일 8:37 오후 추천 , 대댓글