매일 TIL (65) 썸네일형 리스트형 [내일배움캠프 9-1일] 좋아요 구현, 팔로우 구현 좋아요 구현class Article(models.Model): title = models.CharField(max_length=50) content = models.TextField() created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) image = models.ImageField(upload_to='images/', blank=True) author = models.ForeignKey( settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name="articles" ).. [내일배움캠프 8-7일] 댓글 구현하기, Custom User Model, 1:N 확장 댓글 구현class Comment(models.Model): article = models.ForeignKey(Article, on_delete=models.CASCADE) content = models.CharField(max_length=255) created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) def __str__(self): return self.contentarticles 앱의 models.py에 Comment 클래스를 추가해준다.on_delete 파라미터는 "만약 1번 Article이 삭제되면 거기 달려있는 코멘트는 어떻게 .. [내일배움캠프 8-6일] Static Files, Media Files, Django Admin Static FilesSTATIC_URL = 'static/'STATICFILES_DIRS = [BASE_DIR / 'static']STATIC_ROOT = BASE_DIR / 'staticfiles'우선 settings.py를 보면 STATIC_URL는 이미 존재함. STATIC_ROOT, STATICFILES_DIRS 만 만들어준다.STATIC_ROOT는 배포 시 사용하는 것이고, 모든 static 파일들을 모아서 BASE_DIR / 'staticfiles' 경로에 모아줄 예정.STATICFILES_DIRS는 앱 안쪽에 있는 static 파일들을 뒤지는 것을 제외하고, 더 찾을 경로를 커스텀하는 것.(예전에 template 찾을 때 경로 커스텀했던 것과 동일하다.)my_first_pjt 안쪽에 sta.. [내일배움캠프 8-5일] 회원가입, 회원탈퇴, 정보&비밀번호 수정 회원가입 path('signup/', views.signup, name='signup')from django.contrib.auth.forms import UserCreationForm@require_http_methods(['GET', 'POST'])def signup(request): if request.method == 'POST': form = UserCreationForm(request.POST) if form.is_valid(): form.save() return redirect('index') else: form = UserCreationForm() context = {'form': form} .. [내일배움캠프 8-4일] 로그인&로그아웃 구현하기, 404 처리, 데코레이터 Django Authentication System만약 유저가 id와 pw를 입력한다면 서버는 어떤 과정을 거쳐야 할까?1. 입력한 ID가 우리 DB에 있는지 확인2. 입력한 pw가 일치하는지 확인3. 그 유저가 몇번인지 판독4. Session Table로 가서5. 난수를 생성6. Session Table에 난수:유저 형태로 저장7. 생성한 난수를 쿠키에 담아 유저에게 전송 django에서 이 모든 과정은 login() 이라는 함수 하나를 통해 내부적으로 처리된다.즉 내부적으로 session을 사용해서 user정보를 제작해준다는 것.로그인 구현하기우선 accounts 앱을 만들고, 이를 my_first_pjt와 연결해야 함.(할 수 있다. 천천히 해보면 됨)accounts 파일 만들기 -> setting.. [내일배움캠프 8-3일] Django MTV(RUD), Django Form, URL Namespace Redirect어떠한 작업이 끝나고 내가 지정한 url로 돌려보내는 것.from django.shortcuts import render, redirectfrom .models import Articleredirect는 django.shortcut 안에 있음.def create(request): title = request.POST.get('title') content = request.POST.get('content') # 새로운 Article 저장 Article.objects.create(title=title, content=content) return redirect('articles')create 뷰에서 return 부분을 수정해주면 된다.create.html에서 요청을 .. [내일배움캠프 8-2일] Django Model, ORM, MTV, GET&POST Modelfrom django.db import models# Create your models here.class Article(models.Model): title = models.CharField(max_lengh=50) content = models.TextField()장고의 모델은 클래스로 정의. Article 테이블을 생성했다고 생각하면 된다. 내가 사용할 컬럼들은 Field로 정의해주면 된다.ex) title은 CharField로 설정, 이 특징은 문자열 필드이면서 길이제한이 반드시 필요함.필요한 필드는 장고 문서에서 참조하며 사용하면 될듯.MigrationDB는 우리가 파이썬 코드로 모델을 작성한 사실을 알지 못함.우리는 DB에 변경할 내용을 Migration 단위로 반영해 주어.. [내일배움캠프 8-1일] HTML form, Variable Routing, Multiple Apps, Naming URL Patterns HTTP form{% extends 'base.html' %}{% block content %} h1>Data Throwh1> form action="" method="GET"> label for="message">데이터 입력 label> input type="text" id="message" name="message"> button type="submit">전송button> form>{% endblock content %}lable의 for는 input의 id와 동일해야 함.input 에서 핵심 속성은 namename 이 있어야 데이터를 전달할 수 있다.name 으로 서버에 데이터를 전달하고, 서버는 name 을 보고 데이터를 판단하는 것. meth.. 이전 1 2 3 4 5 6 7 ··· 9 다음