이전 글에서 우리는 git clone을 활용해서 Pythonanywhere에 파일을 전달해서 Mysql까지 다뤄봤습니다. 이제 우리 Flask 프로젝트 github 에 있는 소스를 Pythonanywhere에 다운로드하고 설정을 하고 Pythonanywhere으로 웹 애플리케이션을 배포시켜 봅니다. mkvirtualenv --python=python3.8 myweb 명령으로 만든 가상환경으로 들어가야 됩니다. myweb이라는 이름으로 가상 환경을 만들었습니다. Pythonanywhere에서 workon 가상환경이름 을 입력합니다. 필자는 myweb이라는 이름으로 만들었기 때문에 아래와 같이 입력합니다. workon myweb 가상 환경으로 들어왔네요. 여기서 github에 있는 소스를 다운로드합니다. g..
이 전 글에서는 pythonanywhere에서우리 파이썬 프로젝트와 pythonanywhere DB를 연결을 위해 우리 소스를 pythonanywhere에 올려 보도록 합시다. 소스를 올리는 방법은 여러 가지가 있습니다. 일반적으로 pythonanywhere에서Consoles 탭에서 pythonanywhere 리눅스 콘솔에 접속하여 git을 이용해서 소스를 pythonanywhere에 올려 둘 수 있습니다. 우리는 git을 이용해서 소스를 관리를 하고 github에 소스를 올려 두었습니다. pythonanywhere 콘솔에서 git을 이용해서 우리 소스를 다운 받고 DB 연결까지 해봅시다. pythonanywhere에sqlite 패키지의 함수들을 사용해서 작성을 했습니다. 이는 Python DB API ..
파이썬 웹 프레임워크를 무료로 외부로 서비스(배포) 하기 위해 여러 가지 방법이 있습니다. 클라우드를 사용하는 게 대표적입니다. AWS, GCP, Azure 등 많은 클라우드 서비스가 많게는 1년 적게는 한 달 정도는 무료로 사용이 가능합니다. 하지만 우리는 python을 사용 하기에 python 을 무료로 배포할 수 있는 사이트가 있습니다. 바로 파이썬 애니웨어(https://www.pythonanywhere.com/)가 되겠습니다. 먼저 가입을 하고 로그인 후 사용법을 알아보도록 하겠습니다. https://www.pythonanywhere.com/ 링크로 가면 아래와 같이 뜹니다. 영어로 되어 있어 불편할 수 있지만 한번 해보죠. https://www.pythonanywhere.com/pricing/..
다른 사람들이 만든 부트스트랩을 이용해 봅시다. 우리는 회원가입의 폼을 변경할 것이기 때문에 (필요에 따라 로그인 페이지까지) signup bootstrap template 구글에 검색 해봅니다. 많은 사람들이 만든 소스를 보기 위해 프로그래밍 코드는 세계 공통어 이기 때문에 영어로 검색 합니다. Registration 도 회원가입이 될 수 있겠네요. 저 둘중에 적당하게 찾아 들어 가면 되겠습니다. 둘중에 Registration에 조금더 소스가 많아서 저는 아래 Registration 에 들어 가봤습니다. https://bootsnipp.com/tags/registration 오른쪽에 버전을 선택할 수 가 있네요. 우리는 부트스트랩4로 만들었기 때문에 4로 선택 합니다. 여러 샘플중에 아무거나 선택 합니..
Jinja2 템플릿을 이용하면 html을 나누어서 페이지를 표시할 수 있습니다. 이전 글에서 부트스트랩으로 Navbar를 만들었습니다. Navbar를 페이지 마다 붙여야 하는 번거러움이 있었죠. 다른 웹언어(PHP, JSP 등)를 경험 해본 사람들은 include를 사용해서 하면 되겠다라고 생각할 겁니다. Jinja에서도 include를 사용할 수 있는데 extends로 템플릿 상속을 해서 사용 할겁니다. extends를 사용하면 사이트의 공통부분을 포함하는 레이아웃을 만들 수 있습니다. Jinja 문법이 들어 가기 때문에 복잡해 보일 수 있지만 간단한 예제로 틀을 만든다 생각하고 그 규칙만 알면 충분히 사용할 수 있습니다. 먼저 layout.html 파일을 만들고 이전 글에서 만들었던 main.html..
회원가입 폼이나 로그인 폼을 조금 더 이쁘게 만들어 봅시다. 디자인을 하기 위해서는 CSS를 잘다뤄야 합니다. 디자인에 관심이 많고 포토샵도 다룰줄 알고 디자인 센스가 있다면 CSS를 제대로 배워서 웹 퍼블리셔 또는 프론트엔드 개발자에 도전해도 괜찮습니다. 디자인이 힘들다면 CSS 웹프레임워크의 힘을 빌리면 디자인을 못해도 잘 한거 처럼 보이게 할 수 있습니다. 첫 시간에 웹 페이지를 만들 때 참고한 사이트로 가봅시다. https://www.w3schools.com/ W3Schools Online Web Tutorials HTML Example: This is a heading This is a paragraph. Try it Yourself » CSS Example: body { background-c..
예제로 만들었던 로그인을 소스를 아이디와 패스워드를 DB에 저장 하는 것을 만들어 봅니다. 번호, 이름을 넣는 예제를 변경해서 만듭니다. DB 에 저장된 데이터를 가져와 ID, PW를 비교 후 맞으면 로그인 성공 메시지를 보내고 /form 으로 이동이 되게 만들어 봅니다. 만약 로그인을 하지 않으면 /form 에는 접근이 안되게 해야 합니다. 로그인 된 사용자만 접근이 되게 할려면 세션(session)을 이용 해야 합니다. Flask 에서 세션을 사용 하기위해 설정 값으로 app.secret_key 의 값을 줘야 합니다. app.secret_key='임의의 값' 으로 줍니다. 저는 이렇게 선언 했습니다. app.secret_key = b'aaa!111/' 그리고 로그인 부분에 만약 아이디와 패스워드가 같..
DB에 데이터 저장하고 불러오기를 배웠으니 이제 우리 Flask 프로젝트에서 브라우저에서 사용자가 입력한 데이터를 받아 DB에 저장을 해보죠. 먼저 이전 글에서 db 사용 하는 소스들을 함수로 만들어서 필요한 함수를 불러서 사용 하도록 해봅니다. 저는 dbdb.py 라는 파일을 생성 했습니다. 그리고 지난 글에서 사용 했던 소스를 조금 변경 해서 각각 쪼개어 함수로 만듭니다. import sqlite3 def dbcon(): return sqlite3.connect('mydb.db') db 파일 접속 함수 입니다. 다른 DB를 옮겨도 사용할 수 있게 테이블을 생성하는 함수도 따로 생성 해놓습니다. 테이블이 이미 있다면 새로 생성되지 않고 except 가 됩니다. def create_table(): try..
파일로 처리했을 때 데이터가 많아지면 데이터들을 관리하기가 힘들어집니다. 우리는 그렇게 사용 해봤습니다. 이 전 글 참조 이런저런 조건으로 검색을 했을 때에 대한 소스들도 일일이 다 작성을 해야 겠죠. 이런 문제를 해결하기 위해 DB(DataBase)를 사용합니다. 데이터 베이스에 대한 자세한 설명은 위키백과 사전 링크로 대신합니다. 데이터 베이스 데이터베이스 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. SQL 데이터베이스 쿼리의 예. 데이터베이스(영어: database, DB)는 여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합이다.[1] 작성된 �� ko.wikipedia.org 여러 데이터 베이스 시스템 중에서 일반적으로 많이 쓰이는 mysql이나..
우리는 return hello world로 화면에 나타내는 것을 render_template에서 templates 폴더 안의 html에 파일을 나타 낼 수 있었습니다. 그리고 return hello {}.format(변수) 로 hello 변수가 나타나게 했습니다. render_template 에서 데이터를 전달해서 html 내에서 전달된 데이터를 사용하는 방법에 대해 알아봅니다. return render_template("view.html", data='전달데이터') render_template 에 인수를 html 파일과 data=data 를 넘깁니다. data=data 는 키와 값으로 전달이 되면 html에서는 앞의 data 키 이름을 사용하면 '전달 데이터'를 나타 낼 수 있습니다. Jinja2 에서..
- Total
- Today
- Yesterday
- GIT
- python
- WEB
- Cloud
- 리눅스
- pythonanywhere
- GCP
- javascript
- Java
- 클라우드
- 플라스크
- Hello World
- 자바스크립트
- 웹앱
- 자바
- github
- 부트스트랩
- flask
- oracle
- 오라클
- 도커
- 웹앱프로그래밍
- 웹앱 프로그래밍
- HTML
- 파이썬
- docker
- nginx
- Visual Studio
- mysql
- DB
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |