Python/Django
-
Django로 이메일을 보내보자Python/Django 2022. 10. 11. 09:06
안정적으로 수많은 유저에게 이메일을 도달시키기 위해서는 전문적인 이메일 발송 서비스를 사용해야 한다 네이버 로그인 후 아래처럼 해준다 사진3 # 만약 네이버 2단계 인증이 설정되어 있다면 를 설정해야 한다 https://nid.naver.com/ 일반적으로 계정정보들은 소스코드에 하드코딩하지 않는다 환경변수에 저장하고 이를 로딩하여 활용 .env 파일을 생성하고 계정정보를 적어보자 # .env 파일 포맷의 주의점! EMAIL_HOST=smtp.naver.com 할때 " = " 앞뒤로 띄어쓰기를 하면 안된다 .env파일들(.env.development, .env.production 등 ) 은 절대 버전관리에 넣지 않는다 왜냐하면 env파일들에 있는 계정정보들이 Github공계계정에 올라가면 악용할 수 있기..
-
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("/..
-
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). 이 서..