Python 9

[ Django ] 08. Django에서 JavaScript 이용하여 좋아요 구현하기

자바스크립트를 활용해 좋아요 구현 base.html _like.html {% if user in article.like_users.all %} {% else %} {% endif %} {{ article.like_users.count }} {% if user in article.recommend_users.all %} 추천 취소 {% else %} 추천 {% endif %} index.html {% load static %} ... detail.html {% load static %} ... like.js const likeButton = document.querySelectorAll('.like-button') likeButton.forEach(button =>{ button.addEventListen..

[ Django ] 07. Django relation M:N (profile, follow, paging)

M:N 관계 ex) 의사-환자 모델링 models.py from django.db import models # Create your models here. class Doctor(models.Model): name = models.CharField(max_length=20) def __str__(self): return f'{self.pk}번 의사 {self.name}' class Patient(models.Model): name = models.CharField(max_length=20) def __str__(self): return f'{self.pk}번 환자 {self.name}' class Reservation(models.Model): doctor = models.ForeignKey(Doctor..

[ Django ] 06. Django relation 1:N 복습

1:N 관계 복습 유저 생성 ORM User.objects.create(username='test', password='test') 게시글 생성 ORM $ python manage.py shell_plus user1 = User.objects.get(pk=2) In[] user1 Out[] Article.objects.create(title='aaaa', content='bbbbb', user=user1) Article.objects.create(title='aaaa', content='bbbbb', user_id=user1.pk) 댓글 생성 ORM comment = Comment.objects.get() comment.article.pk 4 comment.article.title title articl..

[ Django ] 05. Django relation 1:N (사용자 분할)

django relation 1:N 06/22 cascade만 사용 django 확장 툴 설치 $ pip install django-extensions settings에 등록해줘야 한다. 'django_extensions' 으로 등록 쉘창을 켠다 -> mysite 위치로 가서 켜야한다. $ python manage.py shell_plus ipython 설치 $ pip install ipython 0623 Admin 관리자 계정 생성 # musicians/admin.py -admin 정의 from.models import Musician, Album admin.site.register(Musician, Alubm) # bash 관리자계정 생성 python manage.py createsuperuser h..

[ Django ] 04. Django 로그인/회원가입 구현

Django 로그인 /회원가입 회원가입 # urls.py path('signup/', views.signup, name="signup"), # views.py from django.contrib.auth.forms import UserCreationForm # Create your views here. def signup(request): if request.method == 'POST': form = UserCreationForm(request.POST) if form.is_valid(): user = form.save() return redirect('articles:index') else: form = UserCreationForm() context = { 'form' : form } return ..

[ Django ] 02. [예습] 전생 알아보기

Past Job APP Create APP APP Name : jobs Model Class Name: Person Fields name CharField past_job TextField makemigrations로 설계도 작성 migrate로 DB에 설계도 반영 직업 리스트 https://bit.ly/past_job_list urls urls 분리 필수: 프로젝트 폴더, jobs 아래 urls app_name, path name 설정 필수 views /index/ index.html 렌더링 /past_life/ 사용자가 form으로 날린 이름을 받아 저장 DB에 사용자가 입력한 이름이 있는지 확인 만약 사용자가 입력한 이름이 DB에 있다면 기존 그 사용자의 past_job을 past_job 변수에 담..

[ Django ] 01. Django ORM 활용

Django ORM Object Relational Mapping 스프링에서는 mybatis를 썼었고, 장고에서는 이를 위한 기능이 따로 존재한다! 드디어 models.py를 사용하기 시작합니다~ 파이썬의 객체와 DB의 객체를 Mapping해주어야 한다. 그럼 파이썬의 객체는 어떻게 생성하는 가? Articles에 models 작성 # models.py # Create your models here. class Article(models.Model) : # articles_article # CharField 는 글자 수 제한 할 때 사용 title = models.CharField(max_length=150) content = models.TextField() created_at = models.Date..

[ Django ] 00. Django 알아보기

django 파이썬으로 이루어진 WEB 프레임워크. django의 성격 파이썬을 이용하기 때문에 개발 속도가 빠르다. 프레임워크라는 것은? ----> 프랜차이즈의 성격을 갖는다 ( 내가 다 줄테니 너넨 사용만 해라~ ) why django? 풍부한 언어와 프레임워크 사용 경험을 배양하기 위함. MTV 스프링의 MVC패턴과 같은 패턴임 Model - Template(사용자가 보는 화면) - View(중간 관리자) URLs: 단일 함수를 통해 모든 URL 요청을 처리하는 것이 가능하지만, 분리된 뷰 함수를 작성하는 것이 각각의 리소스를 유지보수하기 훨씬 쉽습니다. URL mapper는 요청 URL을 기준으로 HTTP 요청을 적절한 view로 보내주기 위해 사용됩니다. 또한 URL mapper는 URL에 나타..