목록프로그래밍 강의 (43)
컴굥일지
[Class Based View, 장고의 CRUD] 장고는 CRUD 사용에 최적화 되어있다. (class 제공한다.) function based 보다 class based가 더 좋다. CRUD를 사용하면 생산성이 높아지고, 가독성도 좋아지며, 복잡성이 낮아지고, 시간도 적게 소모된다. [CreateView를 통한 회원가입 구현] 중요 파라미터를 적어주어야 한다. ( model, form_class, success_url, template_name ) #accountapp/views.py class AccountCreateView(CreateView): # 어떤 모델을 사용할 것이다. #User - 장고에서 기본 제공해주는 모델 model = User # User 모델을 만들기 위해 사용할 form이 필요..
[Model, DB 연동 - makemigrations, migrate] model : 장고에서 model은 DB를 장고 내부에서 사용하기 편하도록 연동시켜주는 것 개발하는 입장에서 DB의 내용을 자세히 알지 않아도 되게 해준다. Model 만들기 models.py에 내용 입력 #accountapp/models.py from django.db import models # Create your models here. class HelloWorld(models.Model): #Model을 상속받아서 구현하고자 한다. text = models.CharField(max_length=255, null=False) #null이 true이면 내용이 없어도 된다는 것 터미널에 python manage.py makemi..
[style, 구글 폰트를 통해 Header, Footer 꾸미기] 먼저 head.html 파일에 링크를 추가한다. 그리고 폰트를 적용할 header,footer 안의 특정 태그에 style 속성을 추가한다. 처럼 적으면 된다. [Static 설정 및 CSS 파일 분리] style 속성은 보통 CSS 파일로 분리하여 관리한다. (간단한건 그냥 놔두기도 한다.) CSS 파일을 분리하기 전에 Static에 관한 설정을 해주어야 한다. Static 정적이라는 뜻으로, CSS나 JS 등 자주 변하지 않는 파일들을 보통 static이라고 한다. 프로젝트나 앱 별로 따로 관리한다. settings.py에서 STATIC_URL 아래에 STATIC_ROOT = os.path.join(BASE_DIR, 'stat..
[장고 Template의 extends, include 구문과 render 함수] 장고 Template에서 자주 쓰이는 구문 ⇒ extends, include extends 미리 만들어둔 HTML 템플릿이 있는데, 이것을 가져와서 나머지 내용들을 채워나가는 방식 include 만들고 있는 html 파일에 조그만 조각들을 가져와서 템플릿에 박아 넣는 방식 ⇒ extends로 바탕을 만들고, include로 내용을 채워나간다. 실습 templates폴더를 새로 생성하고 그 안에 base.html을 만든다. accountapp/views.py파일에서 templates/base.html을 사용하기 위해 settings.py를 수정한다. # pragmatic/settings.py TEMPLATES = [ { &#..
[첫 앱 시작, 그리고 기본적인 view 만들기] # terminal에서 app 생성하기 python manage.py startapp [원하는 app 이름] 이 명령어를 치면, accountap이라는 폴더가 따로 생긴다. 이렇게 생성된 프로젝트를 main(pragmatic)에서 쓰기 위해서는, main 폴더의 settings.py 파일을 수정해주어야 한다. 아래와 같이 settings.py에 위에서 생성한 app 이름을 추가해주면, main에서 우리가 이 app을 추가했고, 사용할 것이라는 것을 알게 된다. INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contr..
강의에서 사용할 기술 스택 Front-end: HTML, CSS, JS 사용 예정 Back-end: django, NGINX, docker, MariaDB 사용 예정 VULTR를 사용하여 실제 서버를 배포하는 것까지 할 예정 django 여러가지 app이 동시에 생성된다. 기능별로 app을 나누어 제작한다. app마다 각자 HTML, CSS, JS 파일들을 보관한다. Pycharm ctrl+shift+tab + T : terminal file - setting - Project: pragmatic - python interpreter - 톱니 - add 터미널에 venv가 안 떠오를 경우 file>settings>Tool>terminal에서 shell path 에서 powerschell을 cmd로 바꾸기..
서론 Django 공부를 시작한 이유는 여러 가지가 있다. 먼저, 혼자서 프론트와 백을 전부 구현해보고 싶어서 Backend 공부를 해야겠다고 마음을 먹었다. 두 번째로, 지금 졸업프로젝트를 하고 있는데, 졸프에서 Django를 사용하고 있다. 물론 나는 AI파트여서 opencv를 이용해서 자세 추정하는 것에 집중하고 있지만, Front와 Back 그리고 AI 파트를 모두 연결할 때 도움이 될 것 같았다. 세 번째로, 지원한 동아리를 전부 다 떨어지고 나니까 오기가 생겨서 공부를 하게 된 것 같다. 특히 멋사 합격 발표가 나자, 학교 커뮤니티에서 멋사 떨어진 사람들끼리 모여서 스터디해보자고 해서 나도 거기 들어갔다. 나는 Backend 파트로 들어갔고, Backend 파트의 스터디 주제는 Django였다..
함수 정의 - def python에서는 사용자가 직접 함수를 정의하여 사용할 수 있다. def func_name(func_param): code 위와 같이 함수를 선언한다. 매개변수(func_param)에는 아무것도 들어가지 않을 수 있다. 매개변수에 default값을 줄 수도 있다. code 부분에, return을 사용하여 함수의 반환값을 지정할 수 있다. return 이 실행되면, 그 이후의 코드는 실행되지 않는다. #매개변수에 기본값을 주어, 함수 사용시 인자가 안 들어와도 실행이 되도록 한다. def func_name(a="str"): code return a+a #return값을 지정할 수 있다. 클래스 클래스는 일종의 틀이다. 클래스를 정의하는 것은 아래와 같이 할 수 있다. code에는 함수..
조건문 조건문의 형식은 아래와 같다. if condition: statement if condition: statement else: statement2 if condition: statement elif condition2: statement2 else: statement3 condition 값이 True/False로 나올 수 있으면 된다. 이 곳에 보통 관계연산자, 논리연산자를 사용하게 된다. 연산자 우선순위: 산술>관계>논리 statement 파이썬에서는 indentation으로 블럭을 인식한다. (중괄호 사용 X) 반복문(while) while 반복문의 형식은 아래와 같다. while condition: statement condition 조건이 참일 때 statement가 반복적으로 실행된다. ..
list 리스트의 요소는 자료형이 다 달라도 된다. (리스트 자체가 요소로 있을 수도 있다) 대괄호를 사용하여 리스트를 선언할 수 있다. 리스트에서는 슬라이싱을 사용할 수 있다. 수정 가능(mutable) a=[100,5.5, "No", [144,23]] a.append("4") #추가 a.insert(2,"34") #2번 인덱스에 "34" 추가 a.cleaer() #요소 전부 삭제 a.remove(100) #리스트 안의 특정 요소 삭제 a.pop() #가장 마지막 원소를 리스트에서 삭제하고 반환 del a[1:3] #인덱스로 요소를 삭제 a.sort() #리스트를 오름차순으로 정렬 a.reverse() #리스트의 요소를 역순으로 만듬 a.count(3) #숫자 3이 리스트 안에 몇 개나 있는지 알려줌 ..