[Windows/python/Flask/vscode]


Day 2. 정적페이지


복습이자, 더 나은 설명

https://mooneegee.blogspot.com/2017/10/python-flask-hello-world.html

1. @app.route("/")은 hello()함수의 값을 연결해준다.

2. app.run( 

host : 외부서버시 '0.0.0.0'으로 설정

port : 기본 5000 > 변경가능

debug : 기본false > true 설정시, debug 정보를 제공한다..  << 에러시 웹페이지에 디버깅모드를 제공한다는 것. 이러면 외부인도 볼 수 있다는 것. 때문에 외부공개시 false로 바꿔야한다. https://flask-docs-kr.readthedocs.io/ko/latest/quickstart.html#debug-mode

options : 추가공부가 필요하다.

  )


https://mooneegee.blogspot.com/2017/11/python-flask-static-files.html




https://m.blog.naver.com/cosmosjs/221023511563



코드1 


from flask import Flask


결과1




정적 웹페이지vs동적 웹페이지

https://titus94.tistory.com/4

'프로그래밍 > Flask' 카테고리의 다른 글

Day1, Hello World  (0) 2019.01.04
파이썬 / 아나콘다 / Visual Studio Code  (5) 2018.12.27

[Windows/python/Flask/vscode]


Day 1. FLASK 구성방식 이해하기



파이썬에서 설치

> pip install Flask


https://m.blog.naver.com/cosmosjs/221023425448



hello.py 작성하기


https://m.blog.naver.com/cosmosjs/221023511563



코드1 : Hello world를 port:5000으로 출력하기


from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run(debug=True, port=5000)
# 실제서비스에서는 debug=True를 삭제해줘야 에러시
# 접속자에게 노출안된다고


결과1. Hello world~ !!



코드2 : Hello world를 html을 입혀서 출력하기


from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello():
#return "Hello World!"
return "<html><body><h1>Hello World!</h1></body></html>"
#return render_template('hello.html')



결과2. 굵은글씨-하이라이트1 (h1)로 출력



코드3 : html에 있는 내용을 출력하기


(코드위치 : hello.py)

*** 꼭 render_template를 import 할 것!

from flask import Flask, render_template

app = Flask(__name__)

@app.route("/")
def hello():
#return "Hello World!"
#return "<html><body><h1>Hello World!</h1></body></html>"
return render_template('hello.html')


(코드위치 : templates폴더 - hello.html)

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>헬로우월드</title>
</head>
<body>
<h3>Hello world! - 이제 시작입니다.</h3>
</body>
</html>


결과3. hello.py에서 hello.html의 html을 출력함 (페이지이름:"헬로우월드", 페이지내용:"Hello~",  글씨크기:h3)


>> 코드3의 방식으로 구성하면,  hello.py의 메인코드를 수정하는 것이 아니라 hello.html의 내용을 수정하여 편리해짐

<< 이 말을 내가 이해한 방식이다.

<< 키위쥬스를 판매하기 위해 키위를 간다면 다음과 같을 것이다.

<< 제품 : 키위주스

<< 만드는 방법 : 키위+꿀+사이다 등등 넣고 믹서기통에 넣고 믹서기본체의 전원버튼을 누른다.


>> 믹서기 본체 : hello.py

>> 믹서기 통 : hello.html

>> 재료(키위 등) : html 내용(hello~...)

>> 전원넣기 : 웹서버로 보내기

>> 제품 : 웹페이지화면


<< 마늘을 다지고 싶다면?

>> 믹서기 통에 다른 재료(마늘)을 넣고 간다.

<< 즉 html 내용만 바꿔주면 된다는 것이다.


- 공부한 링크에는 사진불러오기도 있는데 - 설정관련 추가공부가 필요하여 패스함.



+ 추가공부 : 주소연결

파이썬과 Flask를 이용한 나만의 웹앱 만들기(3) : URL route를 이용한 다양한 접근

https://m.blog.naver.com/cosmosjs/221024390028


파이썬과 Flask를 이용한 나만의 웹앱 만들기(4) : 포트변경, 템플릿에 변수전달하기

https://m.blog.naver.com/cosmosjs/221024825333


파이썬과 Flask를 이용한 나만의 웹앱 만들기(5) : CSS 의 분리, Static 파일

https://m.blog.naver.com/cosmosjs/221024937269



'프로그래밍 > Flask' 카테고리의 다른 글

Day 2. 정적페이지  (0) 2019.01.23
파이썬 / 아나콘다 / Visual Studio Code  (5) 2018.12.27

[설치전 알아두어야할 것]


파이썬 환경구성 : 파이썬을 다운받는 것과 아나콘다에서 파이썬을 다운받는 것은 다르다.

중국요리가 미국에가서 미국식 중식요리가 된 것처럼..?

파이썬을 입력하는 에디터 : Visual Studio Code(vscode) < atom + vim + sublimetext 등등의 장점을 다모아놨다고 하길래.

또한 나는 엑셀을 좋아하므로, msoffice를 믿고간다.


http://snowdeer.github.io/python/2017/11/07/python-vs-anaconda/

아나콘다는 파이썬 + Scipy + numpy + pandas + matplotlib + spyder + jupyternotebook 등등을 같이 깔아준다.

파이썬과 아나콘다를 같이 설치하면 경로(환경변수) 등이 꼬여 오류발생할 수 있다고.

나는 아나콘다의 빅데이터관련 라이브러리들도 쓰고 싶으므로 아나콘다만 설치하기로 선택함.


[아나콘다 설치]


https://m.blog.naver.com/PostView.nhn?blogId=jooostory&logNo=221196479998&proxyReferer=https%3A%2F%2Fwww.google.com%2F

anaconda 검색 후 자신의 컴퓨터 bit에 맞춰 다운로드 (난 64bit)

막 설치하면 안됨. 설치시, 환경변수(시스템변수)에 추가하라고 해야한다. / 처음에 고민하다가 빨간글씨 뜨길래 안눌렀더니 변수등록이 안되서 다시 설치함.


> add anaconda to the system PATH environment variable


사용자변수의 Path에는 없고

시스템변수의 Path에는 생겼다.

혹시 환경변수가 등록안되어있다면, 시스템변수의 path를 편집해서 다음을 넣으면 될듯하다.

> PATH 설정



[아나콘다 프롬프트 / cmd 실행하기]


시작눌러서 cmd 들어가나, 아나콘다프롬프트 눌러서 실행하나 같은 결과임 = 이것들을 터미널이라고 함.

(매트릭스에서 네오가 삭제위기?에 놓여있을 때, 헤매던 곳.. 매트릭스라는 프로그램에 들어가기 위해 명령어를 입력해야한다.)

우리는 파이썬의 세상에 들어가기 위해 python을 입력해야한다.


> Python 입력

어느 위치건 잘 들어가진다.

(http://library1008.tistory.com/42  << cmd 명령어모음)

(cd 는 현재위치, cd.. 는 현재폴더에서 상위폴더로, cd / 는 제일 위 폴더, cd 하위폴더명 은 하위폴더로, dir 은 하위폴더목록보기)


> Python --version

파이썬 버전도 확인해보자.



>> 여기까지 C:\ProgramData\Anaconda3\Python.exe를 구성해놓은 것이다.

즉 Anaconda 경로에서 설치되어있는 파이썬이고 / 파이썬을 따로 깔았다면 python폴더로 지정되어있을 것이다. (python37이런 느낌쓰)





[아나콘다/파이썬 + 가상환경구성]


프로그램언어는 버전업하면서 호환문제가 자주 발생하여, 개발을 시작하면 버전이 바뀌지 않아야한다.

개발환경을 고정해놓는 것.. 에 들어가서 개발하는 것이다. ( 나 여기서 개발할 거니까 건드리지 마라. 물어요.)


가상환경구성에는 다양한 방법이 있다.

https://wikidocs.net/16402


1. 많이 보이는 방법 : virtualenv

https://offbyone.tistory.com/74

설명이 매우 좋다 : 경로설정, 폴더생성위치 등  / 어디(폴더위치)에 깔리고 실행되는지를 연결(PATH설정)해놓는 것이다.


http://ssse.tistory.com/36

오류시 원래 파이썬 폴더 DLLs를 새로 만든 폴더안으로 옮겨라.


> pip install virtualenv

> virtualenv c:\만들고자 하는 폴이름(이하 방이름)

> cd c:\방이름\scripts

> activate    하면 실행됨

> deactivate 하면 나가짐


설명::: vir~를 깔고,  vir~로 방을 만들면, scripts안에 파이썬.exe가 생성됨.

      ::: 그래서 평소에는 c:\방이름\scripts에 들어가서  activate 명령어로서  파이썬을 실행시키는 것 / deactivate로 나가고



2. 아나콘다사용시 : conda

아나콘다를 사용하면 이것도 된다니.. 

https://conda.io/docs/user-guide/tasks/manage-environments.html



방 만들기

> conda create -n 방이 python=3.7 anaconda





진행하겠습니까? (y/n)

> y


잘깔렸나 확인

> conda info --envs


방들어가기

> activate 방이름


방나오기

> deactivate



>> 그런데 설치되는 위치가 구리고 해결방법을 잘 모르겠어서 다지우고 다른거 1번으로 감.


[아나콘다/파이썬/가상환경 + VSCODE]


1. 윈도우 + 파이썬 + virtualenv + vscode + 경로 설정(path)


설명 : vscode에서 내가 원하는 폴더(방)에 있는 파이썬을 실행하도록 연결하는 것이다.


> vscode 실행


> 사용하고자하는 가상환경 폴더열기 (방 열기) : 나는 mushroom


> ctrl+shift+p > Python Select Workspace Interpreter 검색 > anaconda ~ 가 선택사항이 나올 것임. 아니여도됨. 나오는 거 선택


> mushroom안에 .vscode가 생성됨


> setting.json 을 열어서 > 파이썬 경로를 내 방안으로 입력한다.



*** 만약 여기서 연결이 안되면 / 시스템 환경변수에 내가 만든 방/scripts를 경로 추가해줘야한다.

> C:\mushroom\Scripts 등록


http://blog.naver.com/PostView.nhn?blogId=jueyini&logNo=221121663534&categoryNo=74&parentCategoryNo=0&viewDate=¤tPage=1&postListTopCurrentPage=1&from=postView


2. conda가상환경 + vscode

https://devstorylog.blogspot.com/2018/05/anaconda-python-vscode.html

안해봄


[파이썬/가상환경/VSCODE/한줄씩 실행]


이제 입력이 잘되나 해보자
> 방(mushroom)에 마우스 올려보면 [파일+]모양 누르고 > hello.py 입력

> 명령어 입력 
> print(1+1) 
> print('hello world!')

> f5 누르면 디버깅모드가 실행되면서 문제가 없으면 값이 나옴.

> 그러나 나같은 초짜들은 한줄한줄 실행해봐야암


VSCODE/파이썬 한줄씩 실행 (Run selection/line in python terminal)

> shift+enter를 하면 파이썬이 실행되면서 선택한 line의 값이 나옴.



+명령어 설명

> print(1+1)  : 1+1 연산을 수행함
 : 이 명령이 귀요미라는 텍스트로 안나오는 이유는 1+1이 숫자연산이라는 것으로 인식했기때문..

> print('hello world!') : ' ' 사이에 입력하므로 문자열로 인식!
> 파이썬 숫자, 문자열 등을 공부하시길.


##

후에 venv을 사용할 수도 있고, 기초지식이 있으므로 남겨둠.

https://code.visualstudio.com/docs/python/tutorial-flask

'프로그래밍 > Flask' 카테고리의 다른 글

Day 2. 정적페이지  (0) 2019.01.23
Day1, Hello World  (0) 2019.01.04

+ Recent posts