Home 화면 만들기
5073 단어 Python3Flask파이썬sqlite3sqlalchemy
소개
Flask를 사용하여 1에서 응용 프로그램을 만들고 필요한 기술을 배울 수 있도록 정리하고 있습니다.
Home 화면 만들기
MTV 프레임워크란?
Flask는 크게 나누어 Model, Template, View의 3개로 구성된 MTV 프레임워크로 구성되어 있다.
예를 들어 사용자로부터 요청이 있을 때 Flask는 다음과 같이 처리됩니다.
1. ユーザがあるURLに大してアクセス(リクエスト)する
2. アクセスされたURLを読み取り、あらかじめ定義された、URLに紐づいた処理を実行する。(View)
3. 処理の中で必要に応じて、モデルと呼ばれるオブジェクトを通してデータベースにアクセスする(Model)
4. 処理の最後にユーザに表示するHTMLなどのテンプレートを返す(Template)
5. ユーザは返されたHTMLファイルを閲覧する
지금까지는 요청에 큰 문자열을 반환했지만 실제로 사용자가 웹 브라우저에서 탐색하는 것은 html 파일입니다.
그래서 html 파일을 돌려주도록 합니다.
html 파일 렌더링
HTML 파일을 브라우저에 전달
adapters/controllers/entry.pyfrom src import app
from flask import render_template
@app.route('/')
def index():
return render_template('index.html')
1. ユーザがあるURLに大してアクセス(リクエスト)する
2. アクセスされたURLを読み取り、あらかじめ定義された、URLに紐づいた処理を実行する。(View)
3. 処理の中で必要に応じて、モデルと呼ばれるオブジェクトを通してデータベースにアクセスする(Model)
4. 処理の最後にユーザに表示するHTMLなどのテンプレートを返す(Template)
5. ユーザは返されたHTMLファイルを閲覧する
from src import app
from flask import render_template
@app.route('/')
def index():
return render_template('index.html')
Templetes 파일 만들기
src 디렉토리에 templates 디렉토리를 만듭니다. templates 디렉토리 안에 entries 디렉토리를 만들고 index.html 파일을 만듭니다.
이번에는 CSS의 라이브러리인 Bootstrap을 사용하여 html 파일의 모양을 잘 할까 생각합니다.
Bootstrap 가져오기 문입니다.
다음 4줄을 추가합니다.
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script>
templates/entries/index.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet"
href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css"
integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk"
crossorigin="anonymous">
<title>Flask App</title>
</head>
<body>
<div class="container">
<nav class="navbar navbar-expand-lg navbar-lighy bg-light">
<a class="navbar-brand" href="/">Flask Blog</a>
</nav>
</div>
<div class="blog-body">
投稿がありません。
</div>
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"
integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj"
crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js"
integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo"
crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js"
integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI"
crossorigin="anonymous"></script>
</body>
</html>
앱을 시작하면 다음과 같다고 생각합니다.
Reference
이 문제에 관하여(Home 화면 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/k_yokozuka/items/2526c1dfc5ae78b30642텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)