tempplates 폴더 안에 index.html을 넣어야 함
html파일이 밖에 있어서 에러가 난거임
tempplates 폴더 안에 index.html을 넣어야 함
html파일이 밖에 있어서 에러가 난거임
모든 프로젝트를 하기전에 api를 설계하는게 최우선임
우리 서비스에 어떤 기능이 필요하고 어떤 순서로 구현을 할지를 설계
flask시작하기-서버만들기 (0) | 2022.06.12 |
---|---|
api 만들기 (get연습) (0) | 2022.06.07 |
API 만들기 (get, post) (0) | 2022.06.03 |
html파일 주기 (0) | 2022.06.03 |
flask (0) | 2022.05.31 |
temp_html은 html처럼 생긴 문자열. let 으로 내용을 정의해주면 된다 빽팅 중요(``)
ex) let temp_html = 'ㄱㄷㄴㄷㄹ`
jQuery는 미리 작성된 javascript 코드다 (쓰기전, import 해야함)
남이 짜둔 CSS코드는 부트스트랩, 남이 짜둔 javascipt코드는 jQuery
부트스트랩에 이미 jQuery가 들어있는 경우도 있다. 확인할 것, 붙여넣는 위치는 헤드 안 <title> 아래 <script>, font link 있는 쪽
*맥북 백틱은 영문으로, 또는 option+₩
temp_html은 html처럼 생긴 문자열. let 으로 내용을 정의해주면 된다(***백틱사용!!!!)
예) let temp_html = 블라블라
이걸 html로 바꾸려면, $(‘#cards-box’).append(temp_html) 써주면 됨.
CSS는 <body> <div class="이름"> </body>를 적고
<head><style>.이름{꾸며줄내용} </style>을 적어준다면,
javascipt 함수는 (불러온 jQuery 의) <body>안 <div> 속,
함수적용시킬 해당 심볼(ex. Button)에 onclick=“버튼함수이름()” 를 만들어주고,<head>의 <script>에서 function 버튼함수이름() {움직일내용}을 적어준다.
*버튼은 onclick, 다른함수도 가능.
input박스라면 id=“이름”써주고,
<head>의 <script> 에서
function 만들함수이름설정() {
let 머시기 = $(‘#이름’).val(); } 해주면 된다.
*함수설정시, alert 이나 console.log 를 자주 사용해서 확인하면서 작업!!
let 으로 설정,
if (값) { $('#뭐').어떻게해라(); }
else 아니면 { $('#뭐').어떻게해라(); }
if (무언가 < 40) {console.log(‘결과’)}
temp_html 과 if 문을 동시에 사용하면
let temp_html =``
if (무언가 > 70) {
temp_html = `${값}`
} else {
temp_html = `${값}`
}
$(‘#표시할곳이름’).append(temp_html)
flask시작하기-서버만들기 (0) | 2022.06.12 |
---|---|
api설계하기 (0) | 2022.06.07 |
API 만들기 (get, post) (0) | 2022.06.03 |
html파일 주기 (0) | 2022.06.03 |
flask (0) | 2022.05.31 |
GET = 통상적으로 테이터 조회를 요청할때
URL 뒤에 물을표를 붙여 KEY=VALUE로 전달
예) google.con?q=북극곰
POST = 통상적으로 데이터 생성, 변경, 삭제요청을 할때
바로 보이지 않는 HTML body에 key:value형태로 전달
get요청 api 코드
@app.route('/test', methods=['GET']) def test_get(): title_receive = request.args.get('title_give') print(title_receive) return jsonify({'result':'success', 'msg': '이 요청은 GET!'})
|
cs |
get요청 확인 ajax코드(콘솔창에 입력)
$.ajax({
type: "GET",
url: "/test?title_give=봄날은간다",
data: {},
success: function(response){
console.log(response)
}
})
|
cs |
response = 서버에서 내려주는 값
post 요청 api 코드
@app.route('/test', methods=['POST'])
def test_post():
title_receive = request.form['title_give']
print(title_receive)
return jsonify({'result':'success', 'msg': '이 요청은 POST!'})
|
cs |
post 요청 확인 ajax코드
$.ajax({
type: "POST",
url: "/test",
data: { title_give:'봄날은간다' },
success: function(response){
console.log(response)
}
})
|
cs |
※internal server error = 서버쪽에 에러가 났다는 뜻
flask시작하기-서버만들기 (0) | 2022.06.12 |
---|---|
api설계하기 (0) | 2022.06.07 |
api 만들기 (get연습) (0) | 2022.06.07 |
html파일 주기 (0) | 2022.06.03 |
flask (0) | 2022.05.31 |
프레임워크를 사용할땐 정해진 규칙을 따라주어야 함
flask는 대표적으로 정해진 폴더 구조가 있음
static = css나 이미지 파일을 담아둘때 사용
templates = html파일들을 담아 두는 곳(index.html)
render_template 을 쓰면 자동으로 templates폴더 안에 있는 index.html파일을 가져다가 클라이언트에게 줌
@app.route('/')로 들어오고 home이라는 함수가 실행이 됌
flask시작하기-서버만들기 (0) | 2022.06.12 |
---|---|
api설계하기 (0) | 2022.06.07 |
api 만들기 (get연습) (0) | 2022.06.07 |
API 만들기 (get, post) (0) | 2022.06.03 |
flask (0) | 2022.05.31 |
파일 > 뉴프로젝트
3.8확인
서버를 돌아가게 하는 파일은 app.py(파이썬 파일)이라고 통상적으로 많이 씀
서버에 프레임워크라고 하는 flask 설치
크롤링처럼 남이 만들어둔 라이브러리를 쓰듯이 프레임워크를 가져다 씀
라이브러리 = 내가 내맘대로 짜는데 중간중간에 남이 만들어둔걸 가져다 쓰니 편함
프레임워크 = 남이 짜둔 규칙이나 틀 안에서 자유롭게하니 편함
통상적으로 프레임워크는 하나의 프레임워크 안에서 짜게되고 그안에서 라이브러리는 100개든 1000개든 갖다 쓰는것임
서버 만들기
FLASK 시작 코드
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return 'This is Home!'
if __name__ == '__main__':
app.run('0.0.0.0',port=5000,debug=True)
|
cs |
주소창에 localhost:5000이라고 치게 되면 내가 만든 서버의 결과물이 나옴
localhost:5000 으로 내가 지금 내 컴퓨터에서 서버를 돌리고 있음
그리고 내가 지금 내 컴퓨터에서 다른 브라우저를 열어서 접속한 상태 왜?컴퓨터를 두대 살순 없으니까
5000이라는 숫자는 포트 라는 개념
나라에도 항구라는게 존재하듯 인터넷 세상에다가 뚫어놓은 문같은 개념
뚫어 놓은 문의 번호들이 있는데 이건 5000번 문으로 뚫어 둔 상태
5001,5002로 바꾸고 해당 숫자로 접속이 되긴 하지만
거의 대부분 이미 정해진 번호를 갖고 있음 괜히 만졌다가
컴퓨터에서 이미 돌아가고 있는 다른 번호들하고 곂쳐서 기존 내것이 안돌아갈수도 있음
첫 서버 만들었음!
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return '나의 첫 서버!'
if __name__ == '__main__':
app.run('0.0.0.0',port=5000,debug=True)
|
cs |
재미난거
이렇게 코드 만들고 localhost:5000/mypage를 치면
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return '나의 첫 서버!'
@app.route('/mypage')
def mypage():
return 'mypage입니다'
if __name__ == '__main__':
app.run('0.0.0.0',port=5000,debug=True)
|
cs |
이렇게 나옴! 뭔가 그럴싸~
더 재밌는거!
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return '<button>나는 버튼이다</button>'
if __name__ == '__main__':
app.run('0.0.0.0',port=5000,debug=True)
|
cs |
flask시작하기-서버만들기 (0) | 2022.06.12 |
---|---|
api설계하기 (0) | 2022.06.07 |
api 만들기 (get연습) (0) | 2022.06.07 |
API 만들기 (get, post) (0) | 2022.06.03 |
html파일 주기 (0) | 2022.06.03 |
pymongo는 파이썬으로 MongoDB를 조작하는 라이브러리
만약 엑셀을 파이썬으로 조작하려면 남이 만들어놓은 라이브러리를 쓰는게 좋듯
남이 만들어 놓은 pymongo라는 라이브러리를 사용
크롤링과 마찬가지로 기본 코드를 깔고 해야함
1
2
3
4
5
|
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbsparta
# 코딩 시작
|
cs |
INSERT / FIND / UPDATE / DELETE
1. insert : 데이터 넣는것
2. find : 찾는것ㅅ
3. update : update하는것
4. delete : 삭제하는것
# 저장 - 예시
doc = {'name':'bobby','age':21}
db.users.insert_one(doc)
# 한 개 찾기 - 예시
user = db.users.find_one({'name':'bobby'})
# 여러개 찾기 - 예시 ( _id 값은 제외하고 출력)
same_ages = list(db.users.find({'age':21},{'_id':False}))
# 바꾸기 - 예시
db.users.update_one({'name':'bobby'},{'$set':{'age':19}})
# 지우기 - 예시
db.users.delete_one({'name':'bobby'})
|
cs |
1.insert
1
2
3
4
5
6
7
8
|
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbsparta
doc = {'name':'bobby','age':21}
db.users.insert_one(doc)
|
cs |
run하면 print도 없고 당연히 안나옴
근데 Robo3T 가서 mylocalbd를 refresh하면 생김
from pymongo import MongoClient 파이몬고를 쓰겠습니다
client = MongoClient('localhost', 27017) 내 컴퓨터에서 돌아가고 있는 몽고디비에 접속할겁니다
db = client.dbsparta 디비 스파르타라고 하는 디비에 접속하겠습니다(없으면 생김)
2-1. find (반복문을 넣어본 코드)(모든 document를 find하려면 {'age':21}을 빈 중괄호로 바꾸면 됌{})
무언가를 찾아서 same_ages라는 변수에 넣기
1
2
3
4
5
6
7
8
9
10
|
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbsparta
same_ages = list(db.users.find({'age':21},{'_id':False}))
for person in same_ages:
print(person)
|
cs |
{'-id':False}가 들어가는 이유는 아래 보여지는 불필요한 _id값이 다 나오기 때문에
2-2. find_one
user = db.users.find_one({'name':'bobby'})z
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbsparta
user = db.users.find_one({'name':'bobby'},{'_id':False})
print(user)
|
cs |
3.update_one (update_many 도 있지만 위험해서 잘 안씀)
user = db.users.find_one({'name':'bobby'})z
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbsparta
db.users.update_one({'name':'bobby'},{'$set':{'age':19}})
|
cs |
4.delete (마찬가지로 delete_many가 있지만 위험해서 잘 안씀)
user = db.users.find_one({'name':'bobby'})z
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbsparta
db.users.delete_one({'name':'bobby'})
|
cs |