Python
-
BootStrap적용Python/Django 2022. 10. 8. 15:23
requirements.txt를 만들자 requirements.txt란?! - pip라는 파이썬 package 매니저가 라이브러리 설치 시에 이 파일을 참조 - 라이브러리 의존성을 정리 # requirements.txt django~=4.0.0 django-bootstrap5 INSTALLED_APPS = [ # django apps "django.contrib.admin", "django.contrib.auth", "django.contrib.contenttypes", "django.contrib.sessions", "django.contrib.messages", "django.contrib.staticfiles", # thrid apps "django_bootstrap5", # local apps "..
-
Template 상속(실습)Python/Django 2022. 10. 8. 15:06
상속받을 template들이 각각 내용을 담을 부문을 아래 블럭에다 담아줄 것이당 {% block content %} {% endblock %} // base.html Django 입문 {% block content %} {% endblock %} © 2022. 오늘도 화이팅 index.html {% extends "app/base.html" %} {% block content %} {% for post in post_list %} {{ post.id }} : {{ post.title}} {% endfor %} {% endblock %} // post_detail.html {% extends 'app/base.html'%} } {% block content %} 포스트제목:{{ post.title }} ..
-
템플릿(Template) & 실습Python/Django 2022. 10. 7. 08:30
템플릿 상속 실습 templates/app/base.html Django 입문 {% block content %} {% endblock %} © 2022. 오늘도 화이팅 templates/app/index.html # 상속받기전 PostList {% for post in post_list %} {{ post.id }} : {{ post.title}} {% endfor %} # 상속 받은 후 {% extends "app/base.html" %} {% block content %} {% for post in post_list %} {{ post.id }} : {{ post.title}} {% endfor %} {% endblock %} # 상속 받기 전 포스트제목:{{ post.title }} 내용:{{ p..
-
URL 설계Python/Django 2022. 10. 7. 08:21
# url 설계 django는 view와 URL의 느슨한 결합이라는 철학을 가지고 있다 그래서 view 구현이 직접 URL을 mapping하지 않고, URL mapping을 view 구현과 따로 처리하여 URL을 보다 유연하게 정의한다 // 스프링 vs // django =========================== django앱은 앱의 재사용성에 그 목적이 있다. 하나의 django앱을 이 프로젝트에서 사용할 수 있다 그런데, 같은 django앱이더라도 프로젝트/서비스에서 요구되어지는 URL/prefix 가 다를 수 있다. django는 유연하게 다르게 지정할 수 있는 방법을 제공 # blog/urls.py urlpatterns = [ path("" , views.post_list), path("/..
-
람다(Lambda)와 클로저(Closure)Python/Basic 2022. 9. 29. 09:30
람다함수란?! - 익명함수. 즉, 함수의 이름이 없는 함수 - 다른 함수의 인수로 넣을 때 주로 사용 일반함수 vs 람다함수 # 일반함수 def plus_ten(x): return x + 10 plus_ten(1) # 11 # 람다함수 lambda x : x + 10 람다함수 특징 # 변수에 할당 plus_lambda = lambda x: x + 10 plus_lambda(1) # 11 # 람다 표현식 자체를 호출 (lambda x:x+ 10)(10) # 20 # 람다 표현식 안에서는 새 변수를 만들 수 없다 (lambda x: y=10; x+y)(1) # 람다식 밖에서 호출 y = 10 (lambda x: x + y)(100) 람다함수 사용하기
-
Django Model & View 만들기(실습)Python/Django 2022. 9. 28. 09:08
모델만들기 # models.py from django.db import models class Post(models.Model): title = models.CharField(max_length=100) content = models.TextField() # python manage.py makemigrations 앱이름 # python manage.py migrate app yunajoe@yunajoe MINGW64 ~/workspace/mydjango01 (master) $ python manage.py makemigrations app Migrations for 'app': app\migrations\0001_initial.py - Create model Post yunajoe@yunajoe MIN..
-
Django 요청처리Python/Django 2022. 9. 28. 09:04
클라이언트는 다수 있을 수 있다. client에서 서버로 요청을 보냈을 때, 그 요청을 처음 받는 위치에 흔히 Load Balancer 소프트웨어를 설치한다 Load Balancer 소프트웨어는 AWS를 쓸 경우 API GATEWAY, 또는 경량화된 ngix 가 있다 Load Balancer 앞단에서 요청을 받아서, Load Balacing을 한다 특정 서버로만 부하를 전달하는 것이 아니라, 여러 서버에 고루 분산 시켜준다 Load Balancer 쓰는 이유는 예전에는 서버 1대라도 웹서비스의 모든 트래픽을 감당했지만, 요즘에는 서버의 수를 탄력적으로 줄이거나 늘려서 비용을 최적화 하나의 요청을 Load Balancer가 분산해서 특정 서버로 보냄 빨간색 박스가 VM(django, spring). 이 서..
-
위치인자(Positional Argument) & 키워드인자(Keyword Argument) & 기본인자(Default Argument)Python/Basic 2022. 9. 27. 09:01
1. 위치 인자(Positional Argument) def print_numbers(a,b,c): print(b,a,c) print_numbers(10,20,30) # 20 10 30 # 인수를 순서대로 넣을 때는 리스트나 튜플을 사용 할 수 있다 함수(*리스트) 함수(*튜플) print_numbers(*[10, 20, 30]) # 20 10 30 # 위치 인수와 리스트 언패킹은 어디에 사용하나?! - 인수의 갯수가 정해지지 않은 가변 인수(variable arguement)에 사용한다 def 함수이름(*매개변수): 코드 def print_numbers(*args): for arg in args: print(arg) # 함수에 직접 값들을 넣어주거나?! print_numbers(10) print_num..