반응형

분류 전체보기 73

flask 내 윈도우 pc에서 배포하기 (ngrok)

aws나 구글클라우드 등 클라우드 서버를 통해 배포하는게 쉽지는 않다. 서브프로젝트나 나만 확인하고 싶은 간단한 서비스라면 내 pc에서 배포해보자. 물론 윈도우 서버를 이용해도 된다. 단점 1.pc를 끄면 않된다. (서버 실행 유지) 2.속도가 조금 느린편이다. (정적 웹페이지 등은 큰 체감이 없다) 1.ngrok.com 접속하기 (무료로 사용가능 ,FREE 플랜) https://ngrok.com/ ngrok - secure introspectable tunnels to localhost @Botto ngrok, probably the best tool I have started to use for my webwork since firebug also great support ngrok.com 2.회원가..

파이썬/flask 2020.10.09

flask 데코레이터

flask에는 정의된 다양한 데코레이터가 있다. 기본적으로 유용한 데코레이터는 아래와 같다. before_first_request : 첫 HTTP 요청에서만 실행됨. before_request : HTTP 요청이 들어올때마다 실행됨. after_request : HTTP 요청 처리가 끝나고 응답하기 전에 실행됨. from flask import Flask import requests app = Flask(__name__) @app.before_first_request def http_first(): print ("HTTP first_request") @app.before_request def http_before(): print ("HTTP before_request") @app.after_request..

파이썬/flask 2020.10.05

파이썬 flask jinja2(진자)에서 len, enumerate ,주석 사용하기

flask jinja에서는 len() 함수를 그대로 사용할 수는 없다. (values | length) 형태로 사용해야한다. 예시 : {% for index in range(values | length)%} 예시 : {%for i in range("안녕하세요" | length)%} 더불어 enumerate() 또한 그대로 사용할 수 없다. {{loop.index}} 로 사용 가능하다. {%if loop.index < 4 :%} {{loop.index}} {%endif%} 진자 템플릿에서 주석은 {# 주석 #}로 처리한다.

파이썬/flask 2020.10.05

파이썬 중첩함수의 실행

중첩함수는 함수내에서만 호출 함수밖에서 중첩함수를 실행하는 것은 불가능. 단 아래와 같이는 실행 가능. 예제 #방법1 def func_a(num): print("first") def func_b(): print(num) return "last" return func_b fn=func_a(10) print(fn()) #방법2 def func_a(num): print("first") def func_b(): print(num) return "last" return func_b fn=func_a #인자를 전달하지 않는다. print(fn(10)()) #결과는 모두 동일하게 >first >10 >last 조금 더 어려운 예제를 보자. def calc_digit(n): def final(digit): return..

tkinter text 위젯 스크롤 적용하기 (scrolledtext), 텍스트 색상 변경

tkinter text 위젯에 스크롤바 적용하기 사실 tkinter text 위젯에 스크롤바를 적용하지 않더라도 한번 써보면 딱히 필요성은 느끼지 못했다. 하지만 프로그램의 완성도를 높이기 위해 적용하려 하였으나 방법을 찾기가 무척이나 어려웠다. 스크롤바를 적용하여 컬럼을 변경하고 여러가지를 해보았지만 간격이나 위치를 맞추는 것이 쉽지가 않았다. 그러다가 발견한 가장 쉬운 방법 (아마 이게 최선이 아닐까 생각한다) 바로 text위젯 대신 scrolledtext 위젯을 사용하는 것이다. 사용방법은 text위젯과 동일하다. #scrolledtext 임포트 from tkinter import scrolledtext log_text=scrolledtext.ScrolledText(win) log_text.conf..

파이썬/tkinter 2020.09.29

tkinter entry, combobox 이벤트 처리 (bind)

tkiner 프로그램에서 이메일이나 검색어 등 디폴트 예시 값이 있다고 가정하였을 때, 클릭하면 바로 지워지는 것이 사용자에게 편하다. 물론 여러가지 이벤트가 발생될 수 있고 상황에 따라 응용하면 된다. 1.Entry email = Entry(win) #해당영역을 좌클릭 했을 경우 claer 함수 호출 email.bind("",clear) def clear(event): if email.get() == "example@email.com" : email.delete(0,len(email.get())) 예시를 주기 위해 example@email.com 을 디폴트 값으로 설정해 둔 경우 사용자가 입력을 위해 좌클릭 하면 clear 함수가 호출된며, 기존 내용이 삭제된다. 다양한 이벤트 명령어는 아래 글에 정리..

파이썬/tkinter 2020.09.29

scrapy(스크래피) 크롤링 실전 (csv 저장까지)

scrapy로 11번가의 베스트 상품을 크롤링 하는 예제 수집항목 : 각 카테고리별 베스트 200 상품 (메인카테고리, 서브카테고리, 제목, 가격, 판매자, 세부url) 진행순서 1. 프로젝트 만들기 >>scrapy startproject elest (프로젝트명은 영어만 가능) 2.스파이더 봇 만들기 scrapy genspider elebest www.11st.co.kr/browsing/BestSeller.tmall?method=getBestSellerMain *url은 추후 수정가능 3. elebest.py 파일 작성하기 elebest.py import scrapy from elest.items import ElestItem class ElebestSpider(scrapy.Spider): name = ..

크롤링/scrapy 2020.09.24
반응형