목록분류 전체보기 (76)
슈코딩
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bbkjAl/btrDEZJLCcR/YiAWjfPUvr08p1khhengjk/img.png)
장고 템플릿 언어 Flask에서 볼 수 있는 Jinja2 템플릿 엔진과 같은 형태인 기본적인 문법이 장고에서도 제공이 된다. DB에서 데이터를 가져오거나, 복잡한 수식의 파이썬 코드 결과를 반환해야 할때, views.py 에서 작성해서 템플릿으로 전달을 할 수 가 있다. 템플릿 변수, 템플릿, 필터 , 템플릿 코멘트 등이 있다. 템플릿 변수 템플릿 변수의 사용형식은 {{ }} 로 구성되있다. {{ variable }} 문자, 숫자, 언더바(_) 를 사용하여 변수를 정의 변수의 속성에 접근하기 위한 dot(.) 표현도 가능 정의되지 않은 변수를 만나면 빈 문자열('')을 반환. 이것은 settings.py 의 TEMPLATE_STRING_IF_INVALID 에서 변경할 수 있다. 템플릿 필터 변수에 필터를..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/CuYdm/btrDIoCcJMS/IT8oOdkuNuSLxLBXj6rcP1/img.jpg)
퀴즈 내용 제한시간 1시간 (권장 30분내) 1. Django 프로젝트를 생성하고, blog 라는 앱을 만들어서 settings.py 에 등록해보세요. - 장고 프로젝트를 생성하고, 터미널에 django-admin startapp blog 를 입력하면 생성된다. - settings.py 에 blog 추가 2.models.py 에 이 들어갈 수 있는 Article 이라는 모델을 만들어보세요. 3.models.py에 이 들어갈 수 있는 Category 라는 모델을 만들어 보세요. 4.Article 모델의 글 카테고리에는, Category 모델에 존재하는 카테고리만 들어갈 수 있도록 만들어보세요. (힌트: Foreign Key) -내가 적은 답- from django.db import models class ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/lEJuv/btrDAPUWmnX/GHnfnHrIhliMRHKKjj1430/img.png)
1. 데이터 베이스 연결 파이참으로 프로젝트 세팅을 하게되면 settings.py 안에 DATABASES 가 있다. 강의에서는 SQLlite를 사용해서 기본세팅으로 실습을 했다. 다른 DB를 사용하기위해선 우선 그 DB를 설치를 하고 settings.py에 새로 작성을 해야 한다. 예시) mysql 그 후 파이참을 실행시켜서 서버를 작동시키고 파이참 우측에 데이터베이스 클릭 후 + 버튼을 눌러서 프로젝트 파일에 자동으로 생성된 db파일을 연동시켜서 우리가 볼 수 있는 형태까지 연결을 하면 준비는 끝난다. 이미지에 나와있는 my_user 테이블을 제외한 나머지 테이블은 장고에서 기본적으로 제공하는 테이블구조이다. 생성한 APP의 models.py에서 모델을 생성하고 추가하게되면 my_user테이블과 함께 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/1Mi1M/btrDz6waPlR/os6cW7CUteEM2EPUQZZ8lK/img.jpg)
Django 프로젝트 세팅이 끝나고 실행을 해보면 처음에 나오게 되는 페이지가 있다. 신기하게도 아무런 html을 작성하지 않았는데도 127.0.0.1:8000 포트로 접속해보면 이런 페이지가 뜬다. 장고에서 기본으로 제공하는 기본페이지이다. 이렇게 장고에서 우리가 기본적으로 사용 할 수 있도록 하는 많은 기능들이 있는데, 제공하는 기능중 하나가 바로 'Admin' 이다. 페이지의 관리자를 위해 각종 관리를 할 수 있는 관리자 페이지이다. 이 페이지는 127.0.0.1:8000/admin 주소로 접속을 하면 접속 할 수 있다. 그리고 접속을 하게되면 로그인을 해야되는데 계정이 없으니 계정을 생성해야 한다. 터미널을 열어서 python manage.py createsuperuser 를 입력하고 나오는 Us..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/4N4fR/btrDywulVq3/PGontUlirRykrhUcbOSYak/img.png)
Pycharm 파이참에서 장고를 처음 시작할때 따로 장고를 설치하거나 할 필요없이, 새프로젝트에서 왼쪽창에 있는 Django를 클릭해서 파일경로만 설정해주면 자동으로 세팅이 된다. 이렇게 생성을 누르게 되면 장고를 설치하게되고 조금 기다리면 초기 파일들이 자동으로 생성된다. templates 파일 안에는 html 파일을 생성해서 들어가게 된다. manage.py는 장고프로젝트를 관리하고, 실행하거나 하는 역할을 한다. 새로운 APP 기능을 생성할때 터미널에 명령어를 사용하게 되는데, user와 tweet 이라는 두가지 APP을 만든다고 가정했을때 파이썬 하단에 터미널을 열어서 입력을하면 위 사진처럼 user앱 폴더, tweet 앱 폴더가 생성되고 안에 기본 파일들이 생성된다. 이렇게 APP 기능을 생성하..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ceWSME/btrDcFk759G/j3sm9t0I8wn74Dlkz6mvS0/img.png)
1. Framework 파이썬의 대표적인 웹프레임워크는 두가지로 나눌 수가 있다고 한다. - 최소한의 기능만을 제공하는 형태 - 이미 많은 기능들을 제공하는 형태 최소한의 기능만을 제공하는 형태의 프레임워크에는 그동안 사용했던 Flask가있고 Flask외에도 Pyramid라는 프레임워크가 대표적이라고 한다. 많은 기능들을 제공하는 형태의 프레임워크는 대표적으로 Django가 있다. Django와 Flask,Pyramid를 비교해보면 이러한 특징들이 있다. 실제로 강의를 들으며 Django에서 간단한 기능들을 실습해보니, Flask에서 직접 만들어야 했던 기능들을 Django에서는 다 제공을해주어 연결시키거나, 간단한 코드로 이미 다 구현이 되는걸 보면서 신기하면서도 편리하다고 느껴졌었다. 이 두가지의 프..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cp9RSs/btrC5KNmqI4/NcsutC2pwC9qqPmAN43vkk/img.jpg)
프로젝트명: 10Cycle 프로젝트 설명: 사진을 업로드하면 AI가 자동으로 쓰레기 종류를 분류해주는 프로그램 프로젝트 컨셉: 아이들에게 친숙한 프론트디자인으로 쉽게 분리수거에대해 접근할 수있음. 프로젝트 기간: 2022.05.18 ~ 2022.05.25 KPT 회고 Keep 🙂 Google 툴들을 이용한 목업과 DB/API 설계 기간안에 목표기능들 성공적으로 완수 머신러닝 모델 벤치 마킹 주기적으로 상황 공유 팀원 간에 질문 공유 후 해결 안 될 시 다같이 튜터님께 질문 중간중간 BGM을 틀어 (by 규민님) 팀원들의 사기향상 README.md 와 Wiki를 활용한 깔끔한 문서 정리 Postman 활용 Git Branch를 자주(최소 하루 1~3회)Merge해서 충돌을 최소화하여 파일 합치는 작업에서 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/YLnZa/btrC75Jsjiw/taUylwZQs0ocvkSWF5tKu0/img.png)
이번 프로젝트에서 회원가입페이지를 만들때 완성도를 높이기 위해서 이전에는 하지 못한 디테일적인 부분이면서도 일반적인 웹페이지라면 필수인 정규식표현을 Javascript로 사용해보았다. 정규표현식은 문자열에서 특정 문자조합을 확인하기 위해 사용된다. 이름이면 당연히 한글만 입력이되어야하고, 이름이 한글자인 사람은 없기때문에 2글자이상 한글만 가능하게 하였다. //이름 형식 한글만 입력함수 function check_name(asValue) { const regname = /^(?=.*[가-힣])[가-힣]{2,}$/; return regname.test(asValue); } 위에 코드에서 regname = 뒤에 있는 괴상하게 생긴 코드가 바로 한글만 입력가능하게 하는 코드다 뒤에 숫자 2가 들어간 부분이 글..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bcsPc9/btrCYv9sZM0/XT41AOypDd8z0WILI5WY21/img.png)
머신러닝 프로젝트를 진행을 하던중 우리팀원은 각자 모델을 한번씩 만들어서 가장 좋은 이미지분류 모델을 사용하기로 결정했었다. 이에 앞서서 머신러닝에 대해 배운강의를 토대로 모델을 만들었어야했는데, 그렇게 하면 너무 배우는게 없을것 같아서 여러가지 모델을 참고로 조합하기로 결정했다. 그러나 이생각이 곧 엄청난 벽을 느끼게 만드는 계기가되었다. 우선은 튜토리얼들의 코랩 코드들을 참고해서 우리가 사용할 이미지 데이터셋을 적용시켜보고싶었는데, 대부분 튜토리얼이 케라스내부의 데이터셋을 가지고 학습을 시켜서 다운로드받은 데이터셋을 적용시키는데도 간단하지가 않았다. 이렇게 데이터를 케라스에서 가져오는 반면 나는 캐글에있던 데이터셋중에서도 12클래스에서 4개의 클래스로 추려낸 데이터셋을 따로 저장을해놨었기때문에 이것을..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/SmCS4/btrCY6BCB2e/ihAQSpCvKMruw93czXka6K/img.png)
이번에 머신러닝 팀프로젝트를 시작하면서 처음 레파지토리를 생성하고 기본파일들을 첫push하는데 에러가 뜨는 황당한 일이 생겼었다. 당시에 찍어둔 캡처본이 없어서 인터넷에서 퍼왔는데, 이것과 똑같은 에러가 떴었다. 팀원들에게 물어봐도 잘모른다구 해서 인터넷에 검색해보니 403 오류는 해당 레파지토리주소에 접근 권한이 없을 경우 발생한다고 한다. 그래서 팀장님한테 권한을 부여해달라고 부탁하고 권한도 다받았는데.. 여전히 풀리지 않는 문제.. 소스트리 설정이나 토큰을 새로받아야한다는 글도 있었었는데, 너무 오래걸릴것같고 개인 레파지토리에는 push가 잘되는것을 보아 그 문제가 아닐것이라고 판단을했다. 무엇이 문제일까 구글링을 계속한 결과 자격증명관리자에서 해결 할 수 있다는 글을 보게되었다. window 검색..