본문 바로가기

회고록(TIL&WIL)

TIL 2022.06.08 TODAY_LUNCH (오늘의 추천, 음식점 평점 수정, 평점 순위TOP5) 오늘의 추천 - 어제 기준으로 가장 높은 평점을 받은 음식점들 중 하나 음식점 추천 처음에는 try문없이 작성하였으나 데이터가 안정적이지 않아 테스트 할 때마다 테스트 데이터를 새로 만들어 주기 어렵기 때문에 예외문 처리해서 우선 오류 없이 작동되도록 만들었다. datetime에서 날짜 끼리 연산하려고 한다면 timedelta를 이용해서 날짜를 연산할 수 있었다. filter를 이용해서 어제 날짜에 쓰여진 각 유저들이 매긴 음식점의 평점들을 가져와서 어제의 최고 점수, 그리고 그 최고 점수을 받은 가게들을 가져와서 랜덤으로 하나 선택해서 화면에 출력되도록함 # restaurant/view.py def main_view(request, category): if request.method == 'GET': .. 더보기
TIL 2022.06.07 TODAY_LUNCH (사용자 기반 협업 필터링 추천시스템) 1. DB에 저장된 restaurant 데이터와 star 데이터를 csv화 django 프로젝트 내에서 App이 아닌 파이썬 파일을 실행하기 위해서 환경변수 세팅이 필요하다. 실절적으로 필요한 코드는 2줄이나 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "프로젝트명.settings") django.setup() 외부 터미널에서 실행 할 수 있도록 경로 세팅을 위해 코드를 추가한 것 recommandation/to_csv.py import os import django import sys #환경변수 세팅(뒷부분은 프로젝트명.settings로 설정한다.) 모델을 불러오는 코드 보다 위에 있어야한다 print('==추가한 Path:', os.path.dirname(os.. 더보기
TIL2022.06.05 TODAY_LUNCH(요기요 크롤링, csv load-DB 저장) 요기요크롤링 음식점 데이터들을 모으기 위해서 요기요 사이트를 크롤링하였습니다. API를 이용해서 크롤링해오는 방법도 있었으나 생각보다 많은 데이터들을 가져오지않고 방법도 확실하게 알지 못해서 selenium을 이용해서 직접 웹사이트에 하나하나 접근해서 BeautifulSoup로 각각의 태그에 있는 value들을 가져와서 데이터를 모아서 csv형태로 저장하는 방식으로 데이터 수집 crawling.py # 요기요 크롤링 from selenium import webdriver from selenium.webdriver.common.keys import Keys from bs4 import BeautifulSoup import time, os import pandas as pd import requests # .. 더보기
TIL 2022.06.02 추천시스템 프로젝트 TODAY_LUNCH (S.A) 1. 프로젝트 기간 2022.06.02 (목) ~ 2022.06.13 (월) 2. 팀 구성 김선민, 김민기, 박재현, 황신혜 3. 프로젝트 주제 하루 삼시세끼, “오늘 점심 뭐 먹지?” 고민해 본 사람들이 고민하는 사람들을 위해 만들어 보는 웹 서비스 4. 프로젝트 진행 방식 화면 기획 (Figma) : 링크 (완료) API / DB 설계 (Notion) : 링크 (완료) 일정 관리 (Git Project, 겐트차트) : 겐트 링크 , 깃 프로젝트 링크 기능 구현 관리 (Git Issue) : 링크 5.1 TODAY LUNCH 화면 와이어프레임 작성 및 기능 정의 화면 화면 이름 기능 담당자 첫 화면 - 회원가입 1 필수 기능 회원가입 (장고 validation 기능) Address API 사용 김민기 .. 더보기
TIL 2022.05.31 Django 공부 - 게시판/CRUD Board CRUD 연습 1. board APP 생성 터미널에 django-admin startapp board 입력 * 새 프로젝트를 생성할 때 인터프리터를 제대로 설정하지 않으면 django가 설치되어 있지 않은 경우에 오류가 발생한다! 반드시 새 프로젝트 생성 시 기존에 장고프로젝트에 적용하던 인터프리터를 가져오거나 django를 설치해주어야한다. 2. 프로젝트 폴더에서 settings.py 에서 INSTALLED_APP에 borad 추가 * 문자열 형태로 둘러싸주고 맨뒤에 반드시 (,) 컴마 붙이는 거 잊지 말기 3. 모델생성(DB 설계, DB Table 생성) - model.py에 필요한 컬럼들 생성 models.에 있는 다양한 필드함수라던가, 각각의 Field에 줄 수 있는 인자들 추가 공부 .. 더보기
TIL 2022.05.30 Django공부 - 회원가입/로그인/로그아웃/로그인유지, csrf_token django의 전체적인 프로그래밍 흐름(개인적인 생각) 1. APP 생성 2. Model 설계 3. APP 마이그레이션 4. 프로젝트와 user APP urls 연결 5. 생성한 APP에 urls.py 생성하여 views.py에서 호출될 함수들과 연결 6. views.py 에서 기능 구현 - template과 연결하는 GET 요청 - 기능들을 구현하는 POST 요청 7. template에서 ajax 요청으로 해당하는 url에 json데이터 형식으로 request 8. json데이터 받아와서 CRUD, auth 등 진행 9. template에 출력할 데이터 response(render) or 페이지이동(redirect) or HttpResponse로 인자값 리턴 10. HttpResponse로 리턴할 경우.. 더보기
TIL 2022.05.27 Django 공부 - admin, MVT패턴, URL연결, return메서드 admin 페이지 - django에서 기본적으로 구축해놓은 기능 http://127.0.0.1:8000/admin 으로 기본적으로 접속가능하다. django에서 제공하는 super user를 만들어야 admin 페이지에 접근 할 수 있습니다! >> python manage.py createsuperuser 터미널 창에서 위 명령어 입력하여 admin 로그인을 위한 계정 생성 가능 admin 화면에 생성한 모델을 등록해서 admin 화면에서 한번에 관리할 수 있다. 해당 APP의 admin.py 파일에 아래 코드를 작성하면 모델을 admin에 등록할 수 있다. from django.contrib import admin from .models import UserModel # Register your mod.. 더보기
TIL 2022.05.26 Django 공부 - APP만들기, DB연결, Model생성 Django 프로젝트 APP 만들기 1. 프로젝트의 기능을 사용할 수 있도록 'APP' 만들기 파이참 내의 터미널 실행 시켜서 각각의 명령어 입력 django-admin startapp user django-admin startapp tweet 입력하고 나면 자동으로 프로젝트에 폴더구조가 생기게 됨 2. 생성한 APP 프로젝트에 세팅하기 settings.py 에 INSTALLED_APPS 부분에 'user' 'tweet' 추가해서 연결해줘야함! *터미널 실행 시 오류 [PowerShell] 이 시스템에서 스크립트를 실행할 수 없으므로 파일을 로드할 수 없습니다. 자세한 내용은about_Execution_Policies(https://go.microsoft.com/fwlink/?LinkID=135170)를.. 더보기