TIL & Todo List
-
개발 공부할 때 참고한 사이트(Python, Django, Back-end)TIL & Todo List 2020. 3. 13. 19:20
개발자를 준비하면서 새롭게 느낀것은 코딩 스킬도 물론 중요하지만, 어떤 프로젝트에 문제가 생기거나 성능을 향상 시키기 위해 다양한 기술들이 필요하다는 것, 그리고 그 기술을 사용하기 위해서는 큰 그림(프레임워크부터 사용된 기술들이 어떻게 동작하는지??)을 이해 해야한다는 것이다. Python과 Django에 파묻혀서 도메인 지식과 전체적으로 프로젝트나 기술들이 어떻게 동작하는지에 대해 소홀했던 것 같다. 이러한 부분들을 공부하면서, 유용했던 사이트들을 정리해두는 것이 좋을 것 같아 글을 쓰게 되었다. Youtube 블로그 글보다 말과 영상으로 설명하는 유튜브가 짧은시간에 많은 것을 이해하는데 도움이 되었다. 처음에는 호기심에 봤었는데 지금은 개념을 익히기 위해 유튜브 영상을 주로 참고한다. 코드없는 프로..
-
Day-5(forloop.counter, custom template tags)TIL & Todo List/Coding for Entrepreneures 2020. 1. 17. 21:03
Category Template - {{ forloop.counter|divisibleby: }} forloop.counter: for loop안에서 반복 횟수에 따라 번호를 출력 {% for item in object_list%} {{ forloop.counter }} - {{ item.title }} {% if forloop.counter|divisibleby:2 %} {% endif %} {% endfor %} {% if forloop.counter|divisibleby:2 %}: counter의 숫자가 divisibleby에 할당된 숫자로 나뉘어 떨어질 경우 True 새로운 "list-group"을 추가한다. 동일한 기능을 'cycle' tag를 이용해 구현할 수 있다. # 화면에 나타내고 싶은 ..
-
Day-4(Form Validation, Dynamic value For ForeignKey, PositionField, prefetch_related, Model manager, RedirectView, 주저리..)TIL & Todo List/Coding for Entrepreneures 2020. 1. 15. 23:32
Form Validation 사용자가 form에서 직접 slug를 입력할 경우 validation이 필요하다. db에 저장하기 위함이 아닌 page 단계에서의 유효성 검사 def clean_: 해당 field에 대한 validation이 일어난다. class CourseForm(forms.ModelForm): class Meta: fields = [ 'slug', ... ] def clean_slug(self): slug = self.cleaned_data.get('slug') qs = Course.objects.filter(slug=slug) # if qs.exists(): # -> course를 업데이트할 때 마다 새로운 slug로 변경해야한다. if qs.count() > 1: raise forms..
-
Day-3(Mixin, method_decorator, staticfiles, form_valid, slugify)TIL & Todo List/Coding for Entrepreneures 2020. 1. 14. 16:19
Login, Member and Staff required Mixin Member required mixin 특정 페이지에 접근 권한을 부여하기 위해 사용될 mixin 구현 동영상은 무료로 제공되거나 가입된 멤버에게만 제공된다. Video 모델에 free & member_required 필드를 추가하고 해당 조건에 따라 영상에 대한 접근을 허용한다. # mixins.py class MemberRequiredMixin(object): def dispatch(self, request, *args, **kwargs): obj = self.get_object() if request.user.is_staff or obj.free: return super().dispatch(request, *args, **kwar..
-
Day-2(Signal, get_object & get_queryset, form)TIL & Todo List/Coding for Entrepreneures 2020. 1. 13. 00:25
Signal(pre_save & post_save)을 이용한 SlugField django의 Signal은 특정 메서드나 함수가 실행될 때 일어나는 신호(signal)를 받아서 추가 작업을 진행할 수 있도록 한다. 예) 모델이 저장될 시점의 전(pre_save), 후(post_save)에 추가적인 작업을 구현할 수 있다. Signal은 signal을 정의한 모델을 사용하는 모든 앱에서 동작한다. videos에 정의된 모델(signal을 포함하는)을 다른 앱에서 저장하거나 업데이트를 할 때 signal이 동작한다. pre_save, post_save 외에 model signal, management signal, request/response signal 등 다양한 signal이 있다. SlugField는..
-
Day-1(Templates, get_context_data)TIL & Todo List/Coding for Entrepreneures 2020. 1. 12. 23:42
기본 Model & View 설정 동영상은 youtube에서 '공유-퍼가기(iframe tag로 구성된 url)'를 이용 - embed_code 필드에 입력된다. models.py from django.db import models # Create your models here. class Video(models.Model): title = models.CharField(max_length=120) embed_code = models.TextField() timestamp = models.DateTimeField(auto_now_add=True) updated = models.DateTimeField(auto_now=True) def __str__(self): return self.title view.p..
-
Todo ListTIL & Todo List 2020. 1. 11. 20:25
동영상 강의 사이트 튜토리얼 - Coding for Entrepreneurs 정기 구독으로 운영되는 coding for entrepreneurs에서 제공하는 온라인 강의를 최대한 많이 따라해보고 있다. 그중에서 동영상 강의 사이트를 제작하는 Srvup 2 프로젝트 동영상 강의를 따라해보면서 코드를 분석하고 정리할 예정이다. CFE를 알기 전까지 나름 장고를 조금은 할 줄 알고 뭐든 만들 수 있을거란 막연한 자신감이 있었지만, 몇몇 프로젝트 코드를 보니 실제 개발자들이 어떻게 프로젝트를 구성하는지, 로직을 왜 그렇게 짜야 하는지를 정말 많이 배우고 있다. (이래서 우물안 개구리가 무섭다) 강의가 영어로 되어있고 자막이 자동 번역기(영어로 나옴)로 음성을 번역하여 나오기 때문에 모든 내용을 이해하기가 어렵지..