점프투 플라스크 : 모듈 임포트 경로를 확인부탁드립니다.

사실 이전부터 이해가 안되었는데.. 코딩 따라하다보면 이해를 할수 있을지 알고 코딩을 계속했는데

계속 이해를 못하고있어서 문의 드립니다.

https://wikidocs.net/81062#4

from datetime import datetime

from flask import Blueprint, url_for, request, render_template, g
from werkzeug.utils import redirect

from pybo import db
from pybo.forms import CommentForm
from pybo.models import Question, Comment
from pybo.views.auth_views import login_required

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


@bp.route('/create/question/<int:question_id>', methods=('GET', 'POST'))
@login_required
def create_question(question_id):
    form = CommentForm()
    question = Question.query.get_or_404(question_id)
    if request.method == 'POST' and form.validate_on_submit():
        comment = Comment(user=g.user, content=form.content.data, create_date=datetime.now(), question=question)
        db.session.add(comment)
        db.session.commit()
        return redirect(url_for('question.detail', question_id=question_id))
    return render_template('comment/comment_form.html', form=form)

위코드중에서

from pybo import db 어제든지 이런식으로 경로를 쓰고 임포트 하면되나요?

from pybo import db
from pybo.forms import CommentForm

위 두줄을 이해하면 전부 이해할수있을거 같은데, 아무리 생각해도 이해를 못하겠네요 ㅠㅠ

  1. 보통 모듈을 임포트 하려면 . 혹은 ..으로 , 위치를 현재위치로 놓는다던지, 상위 폴더로 이동하던지 해서 임포트를 하던데
    from pybo import db 어제든지 이런식으로 경로를 쓰고 임포트 하면되나요?

  2. from pybo import db 에서 pybo는 pybo 폴더를 의미하나요? __init__을 의미하나요?

    2-1. pybo가 폴더를 의미한다면, 어떻게 db를 임포트 할수있을까요?
    2-2. __init__을 의미한다면, from다음에 파일명을 쓰고  import를 하면 된다는소린데 , 아무 위치에서나 가능한가요:?
    
  3. from pybo.forms import CommentForm => 여기서pybo는 폴더를 의미하는게 맞겠죠?

선생님 덕분에 정말 많이 배우고 있습니다 미리 감사드립니다
그리고 항상 감사하게 생각하고있습니다.

문의 드릴때 위키독스 사이트의 링크를 걸고 문의를 드리고있지만,
저는 처음 부터, 종이책 1권, 전자책 1권을 구매하였습니다.
근데 종이책으로 공부하는게 더힘드네요. 책펼쳐놓고 하는게 영 불편해서요
그리고 이북도 위키독스 사이트보다 보기 불편하고, 교보문고 이북은, 이북 프로그램자체가 뭔가 항상 충돌을 일으켜서 , 프로그램자체를 안깔고 컴퓨터를 사용합니다.
그래서 위키독스 사이트보고 항상 공부하고있어요.

그리고 만약 선생님께서 동영상강의를 찍으신다면 너무 좋을거 같애요 무조건 구매의향있어요~

ilue00 661

2021년 7월 11일 10:14 오후

pybo는 폴더가 맞습니다. 지금 잘 이해 안되시는 부분이 파이썬 패키지인것 같네요. 파이썬 패키지는 다음 설명도 참고 해 보세요. https://wikidocs.net/1418 - 박응용님, 2021년 7월 11일 11:08 오후 추천 , 대댓글
from pybo import db 에서 db는 __init__.py 에 선언된 db를 의미합니다. - 박응용님, 2021년 7월 11일 11:10 오후 추천 , 대댓글
목록으로
1개의 답변이 있습니다. 1 / 1 Page

예를 들면 블루 프린트를 등록할때는

 # 블루 프린트
    from .views import main_views, question_views, answer_views, auth_views

위와같이 .views 라고 하는데

왜 from pybo.models import 는
. 이나 ..을 붙이지 않는걸까요?
너무 헥갈려요

ilue00

M 2021년 7월 11일 10:27 오후

네.. 그 부분은 책에 좀 혼용되게 사용해서 혼란을 좀 드린것 같네요. 결론적으로 상대경로를 쓰나 절대경로를 쓰나 마찬가지입니다. 둘 다 상관없이 사용 가능합니다. 다만, 책에서 혼용해서 사용해서 통일하는게 좋겠네요. - 박응용님, 2021년 7월 11일 11:09 오후 추천 , 대댓글