1. request.args.get('name') 으로 구하기

 

python flask 코드

# app.py

from flask import Flask, request

app = Flask(__name__)

@app.route('/get')
def get():
    arg = request.args.get('data')
    arg2 = request.args.get('data2')
    print(arg,arg2)
    return arg + arg2

app.run(host='0.0.0.0', debug=True, port="1234")

http://localhost:1234/get?data=Hello&data2=World 

 

 

2. URL 에 변수 추가하기

 

# app.py

from flask import Flask, request

app = Flask(__name__)

@app.route('/get/<arg>/<arg2>')
def get(arg,arg2):
    print(arg,arg2)
    return arg + arg2

app.run(host='0.0.0.0', debug=True, port="1234")

 

http://localhost:1234/get/Hello/World

 

편한 방법으로 사용하자.

 

Reference : https://flask.palletsprojects.com/en/1.1.x/quickstart/

마지막 commit 의 메세지를 수정하거나, 파일을 더 추가해서 같은 커밋으로 하고 싶을 때..

 

$ git add *
$ git commit -m "임시 커밋"

대충 이런 상태.. git log -1 로 커밋 됐는지 확인 해볼수 있다.

git log -1

 

 

새로 추가하고 싶은 파일이 생겼다. 파일들을 추가하고 커밋 메세지도 새로 입력해보자

$ git add *
$ git commit --amend

git commit --amend

git commit --amend 를 입력하면

텍스트 에디터로 커밋 메세지를 수정하는 창이 뜬다. git bash 로 하니 nano 에디터로 실행됐다.

아무튼 저기서 원하는 메세지로 변경 후,

Ctrl + X -> Y 를 눌러 저장한다 [nano editor 기준]

 

다시 git log -1 로 최근 커밋을 보자

 

성공적으로 변경되었다.

branch 이름을 feature/[name] 으로 관리중인데 자꾸 featrue 로 오타를 치게되더라... true 에 손이 익어서인가...

아무튼 그래서 이름 변경하는 법.

$ git branch -m [변경할_branch] [변경할이름_branch]

 

그럼 이렇게 쓰면 되겠다

$ git branch -m featrue/issue#1 feature/issue#1

 

canvas 를 사용중인데 그리기용 캔버스랑 보여주기용 캔버스 2개를 겹쳐서 사용하고 있었다.

그래서 그리기용 캔버스가 앞에 있어야 마우스 클릭이 돼서 그릴 수 있었는데 그러다보니 

보여주기 캔버스가 그리기용 그림에 덮여버리는 현상이 있었다. js 코드를 어떻게 바꾸면 되긴 되겠지만.. 귀찮아서

다른 방법을 찾아봤다.

 

<canvas id="realtimeCanvas" style="position: absolute;"></canvas>
<canvas id="canvas" style="position: absolute;"></canvas>

canvas 가 클릭, 그리기용 이었고, realtimeCanvas 가 실시간으로 계속 변경되는 캔버스였다.

 

 

그런데 realtimeCanvas 가 자꾸 뒤에 그려지다 보니 

<canvas id="canvas" style="position: absolute;"></canvas>
<canvas id="realtimeCanvas" style="position: absolute;"></canvas>

순서를 바꾸니깐 canvas 에 걸어둔 클릭 이벤트가 안되더라..

 

 

그래서 찾은게

pointer-events: none;

 

CSS 에 적어도 좋고

 

 

<canvas id="canvas" style="position: absolute;"></canvas>
<canvas id="realtimeCanvas" style="pointer-events: none; position: absolute;"></canvas>

나는 캔버스 쪽은 그냥 간단하게 이렇게 적었다.

'Frontend > HTML' 카테고리의 다른 글

[HTML] html tag에 데이터 저장  (14) 2020.04.23

ubuntu docker 에서 mongodb container 를 설치하고 python에서 pymongo로 db를 조금 만져보려고 한다.

 

Ubuntu => Docker

 

$ docker run -d --name mongodb -p 27017:27017 mongo

위 명령어를 실행하면

-d 백그라운드에서 동작하는

--name mongodb mongodb 라는 이름을 가지고

-p 27017:27017  컨테이너 내부외부를 27017 포트로 통신하는 (mongodb의 기본 포트이다) 

mongo container 를 실행한다.

 

만약 mongo image 가 없으면 자동으로 다운(pull) 받는다.

 

 

$ docker ps

위 명령어로 컨테이너가 제대로 실행됐나 확인해본다

mongo 이미지로 mongodb 라는 이름을 가진 컨테이너가 실행돼있다.

docker ps

 

 

웹브라우저에서 localhost:27017 로 접속해보자. 

localhost:27017

이렇게 뜨면 제대로 실행중이다.

 

 

 

 

Python 

이제 python 에서 mongodb 를 사용해보자.

 

$ pip install pymongo

mongodb 사용을 위해 pip로 pymongo 를 설치하고 코드를 작성하자

 

#db.py

from pymongo import MongoClient

client = MongoClient('mongodb://localhost:27017/')


db = client.newDB 			# db 를 하나 만들고
userCollection = db.user	# db 에서 collection 을 만든다.

# insert_one() 으로 db 를 추가
userCollection.insert_one({
    'name' : 'mik_a',
    'age'  : '100',
})

# find() 로 collection 에 저장된 데이터를 불러와서 출력한다
for i in userCollection.find() :
    print(i)

# collection 의 데이터를 전부 삭제한다.
userCollection.delete_many({})

 

출력

 

NoSQL DB인 mongodb 를 python 으로 간단하게 사용해봤다.

+ Recent posts