내 손으로 만드는 Django 2.x 인스타그램 클론 강의
내 손으로 만드는 Django 2.x 인스타그램 클론 강의
수강정보
(14개의 수강평)
1011명의 수강생
5개월 할부시
월 22,000원110,000원
지식공유자 : 제주코딩베이스캠프
134회 수업 · 총 19시간 2분 수업
기간 : 평생 무제한 시청
수료증 : 발급 강의
수강 난이도 : 초급
이주홍 프로필

2분 48초 이주홍 7일 전
다음과 같은 오류가 나왔는데 어떻게 해결해야 하는 건가요ㅠㅠ

0
이주홍 프로필

postgresql 이주홍 21일 전
저번 시간 수업에서는 postgresql이 선택 사항이라고 하셨는데 이 수업의 마지막 부분에서 postgresql을 확인하는 과정이 있습니다. postgresql을 사용하지 않아도 되나요?

2
이주홍 프로필

IndentationError 이주홍 21일 전
처음보는 에러라 어떻게 대응해야할지 잘 모르겠습니다. 가르쳐주세요. 워크스페이스 공유 주소 : https://goor.me/s4gTg 터미널 공유 주소 : https://goor.me/yjpzf

2
MINYOUNG LEE 프로필

하다보니 에러가 많이 나오는데요, 완성코드 확인은 어디서 할수있을까요?ㅜ MINYOUNG LEE 23일 전
우선 좋은 강의 감사드리구요, 코드작성시 제가 오타가 나온부분도 있고, 강의시에 오타가 있던부분도 있는데 영상강의다 보니 확인이 어렵고 그럴때가 있습니다. 제가 못찾은걸수도 있지만, 프론트엔드나 백엔드 최종완성코드 어디서 확인가능할까요?ㅜ 강의내용과 완성코드를 통해서 틀린부분 검토를 좀 하고싶네요ㅜ

2
tp7019 프로필

구름 ide에서 postgresql - rds 연동하기 tp7019 1달 전
현재 모든 템플릿을 완성하고 로컬 호스트에서 잘 동작함을 확인한 상태입니다. 영상에서와는 조금 다르게 postgresql - rds 연동을 하려고 하는데 어떻게 해야 할지 모르겠습니다. 우선 파이참을 사용하시는거 같아 깃에 올려놓은 마지막 마스터 파일을 다운받았고 파이참으로 프로젝트를 열었는데 venv폴더가 없습니다. 따라서 pip list또한 볼 수 없습니다. 그럼 구름에서 바로 연동을 해보자 싶어서 구름에서 영상과 같이 시도 했는데 postgresql은 인터넷 레퍼런스등을 찾아봐도 import mysql 같은 걸 찾지 못했습니다. 일단 그냥 되나 싶어서 올려봤는데 결과는 역시나 안되고요 화면은 잘 보이고 로그인이 안되는 상태로 html이 시행되는걸로 보아 postgresql의 연동이 안된걸로 보여집니다. 아무래도 import파일이 없기때문이 아닐까 싶은데 해결방법이 궁금합니다. 제 구름 url 입니다. https://goor.me/xSZ7r

1
이주홍 프로필

6분 43초... 이주홍 1달 전
6분 43초 부분에서 오류가 발생하여 도움을 요청합니다. 워크스페이스 공유 주소 https://goor.me/s4gTg 터미널 공유 주소 https://goor.me/yjpzf

8
tp7019 프로필

login 화면 진입불가 tp7019 1달 전
signup화면에서 사용자를 생성하고 login 화면으로 움직이려고 주소/accounts/login으로 들어갈때 그림과 같이 오류 메세지가 뜹니다. 제가 이상하게 생각하고 있는건 두가지 인데, 첫번째는 구름 ide 내부에서 마이그레이션중 일부 파일이 누락되거나 오류가 발생하는점 두번째는 올려주신 instaclone-master의 파일과 비교해봤을때 layout.html의 파일이 강의에 올라온 파일과 현저히 다르다는점. 이 두가지가 저로썬 가장 의심스러운 부분입니다. 하지만 강의에 나와있는그대로  css파일을  link해주고 js파일은 이름도 다르고 파일 개수도 다르지만 일단 link 시켜놓았습니다. master와 비교해가면서 강의를 따라가고 있는데 도대체가 어디서부터 잘못된건지 잘 모르겠습니다. 오류 메세지에는  accounts/login을 찾을 수 없고 함수나 패턴이 정의 되어있지 않다고 나오는데 분명 함수는 모두 정의 되어 있고 layout.html문서 내부의 link줄이 문제가 된다고 나오니 도저히 모르겠습니다. 심지어 link줄이 전부 오류가 발생했다고 나오는것도 아니고 단순히 new_post link 줄에 nk rel="stylesheet" href="까지만 빨간색으로 칠해져서 나옵니다  구름 ide 컨테이너 주소입니다. https://goor.me/xSZ7r

4
sincc0715 프로필

admin.py에서 LikeInline이랑 CommentInline을 사용하셨는데.. sincc0715 1달 전
이걸 어떤 경우에 사용하는지 모르겠고 사용의 의도를 모르겠습니다. 알려주세요!

1
tp7019 프로필

ProcessdImageField 질문드립니다! tp7019 1달 전
회원가입을 할때 썸네일파일을 등록하지않으면 로그인할때 이미지가 없다고 에러가 나오는데, 이미지파일을 등록하지않았다면 디폴트 이미지를 표시하고싶은데 어디에 어떤식으로 코드를 넣어야 하는지 알고싶습니다!!

2
sincc0715 프로필

model에서는 related_name을 like_user_set이라고 ... sincc0715 1달 전
이름을 지었는데 views.py에서 가져올때 like_set이라고 불러오는데 이해가 안되네요

0
sincc0715 프로필

django MODEL을 만들때 settings.AUTH_USER_MODEL하고 가져올때 sincc0715 1달 전
settings.py에서는 AUTH_USER_MODEL을 정의하지 않았는데 어디서 가져오는건지 궁금합니다.

1
sincc0715 프로필

저희가 html에서 form.as_p 로 호출할때 sincc0715 1달 전
signup을 예로 들면  - 사용자명 , 이메일 주소 , 비번, 비번확인 , 닉네임 이런 순으로 되어있는데 어떻게 이런 순을 만들수 있고 - 또 form.py에서 username(사용자명) [a-zA-Z0-9]+  이거 했었잖아요 이거가 이상한지 signup 이되질 않네요 저기 사용자명에 커서를 올리면 form title에 입력했던 오류가 납니다. 근데 왜 오류인지를 모르겠습니다. https://github.com/shinwoo0715/instaclone/ 여기 경로에서 two commit 들어가면 폴더 있는데 그게 최근건데 이거 보시기 그러시면 code 올려드릴께요 [forms.py] from django import forms from django.contrib.auth import get_user_model from .models import Profile from django.contrib.auth.forms import UserCreationForm from django.contrib.auth.models import User class LoginForm(forms.ModelForm):     class Meta:         model = User          fields = ['username' , 'password'] class SignupForm(UserCreationForm):     print("SignupForm 작동")     username = forms.CharField(label="사용자명" , widget=forms.TextInput(attrs={         "pattern" : "[a-zA-Z0-9]+",         "title" : "특수문자 , 공백 입력불가 다시 확인해주세요.",     }))     nickname = forms.CharField(label='닉네임')     picture = forms.ImageField(label='프로필사진' , required=False) # required꼭 필요한것이 아니다. ( 프로필 사진)      class Meta(UserCreationForm.Meta): # Meta라는 부분은 그대로 보내준다고 보면된다.         fields = UserCreationForm.Meta.fields + ("email" , )     def clean_nickname(self) : # 이것은 !! 유효성 검사이다. 내가 적은 nickname인 존재하는지 확인하는 함수         nickname = self.cleaned_data.get('nickname') # 입력한 nickname을 nickname변수에 넣어 검사         if Profile.objects.filter(nickname=nickname).exists():             raise forms.ValidationError("이미 존재하는 닉네임 입니다.")         return nickname          def clean_email(self):         email = self.cleaned_data.get("email")         User = get_user_model() # user모델을 통채로 가져와서 user에 넣습니다.         if User.objects.filter(email=email).exists(): # exists로 확인해서 이미존재한다면 실행해라             raise forms.ValidationError('사용중인 이메일 입니다.')         return email          def clean_picture(self):         picture = self.cleaned_data.get("picture")         if not picture: # picture에 아무것도 없다면 None을 주어라             picture = None         return picture     def save(self):         user = super().save()         Profile.objects.create(             user=user,             nickname = self.cleaned_data['nickname'],             picture = self.cleaned_data['picture']         )         return user [models.py] from django.conf import settings # settings를 가져온다. from django.db import models from imagekit.models import ProcessedImageField from imagekit.processors import ResizeToFill def user_path(instance, filename): # instance : 포토 모델 , filename : 사용자가 올린 file이름받아오자     from random import choice     import string     arr = [choice(string.ascii_letters) for _ in range(8)] # 이게 뭔지 알려면 media의 사진을 보면      #알수 있듯이 8자리의 난수 즉 아무 숫자 8자를 만들고 그사진의 이름으로 저장~!      pid = ''.join(arr)     extension = filename.split('.')[-1] # 파일이름의 확장자를 가져올꺼임 ㅅㄱ     return 'accounts/{}/{}.{}'.format(instance.user.username , pid , extension) # user.username에 맞는 폴더를 하나 만들어 주고       class Profile(models.Model):     user = models.OneToOneField(settings.AUTH_USER_MODEL , on_delete=models.CASCADE) # 사용자 정보를 관리할수 있는 user model을 제공한다.     # on_delete에서 models.CASCADE가 사용된건 USER가 같을 수는 없기 때문에 USER 하나라는 것을 지정하는것이다.      nickname = models.CharField('별명' , max_length=20 , unique=True) # unique 다른 사람 들과 겹치지 않고 유니크를 True로 지정하자     # 사진     picture = ProcessedImageField(upload_to=user_path, # upload_to : 어디다가 저장할래                                 processors=[ResizeToFill(150, 150)],                                  format='JPEG',                                  options={'quality' : 90},                                  blank=True,) # 저장할때 사진의 크기       about = models.CharField(max_length=300 , blank=True) # blank = True라는 것은 비워도 된다는 것을 말한다.     GENDER_C = ( # 성별을 입력할수 있는 SELECTOR 박스를 만들자         ('선택안함' , '선택안함'),        ('여성' , '여성'),        ('남성' , '남성'),     )          gender = models.CharField('성별(선택사항)' ,                               max_length=10 , choices=GENDER_C,                              default='N')          def __str__(self): # 외래키 설정 (외래키가 뭔말인지는 잘모르겠지만 일단 오케이)         return self.nickname [views.py] from django.shortcuts import render , redirect from django.contrib.auth import authenticate , login # authenticate : 로그인 인증관련 기능, from django.contrib.auth import logout as django_logout from .forms import SignupForm , LoginForm def signup(request):     if request.method == 'POST' :          username = request.POST.get("username")         email = request.POST.get("email")         password = request.POST.get("password1")         password2 = request.POST.get("password2")         print("username : \"", username,"\"")         print("emai : \"" , email,"\"")         print("password : ", password)         print("password again : ", password2)         form = SignupForm(request.POST , request.FILES) # 뒤에 request.FILE을 받은 이유는 우리가 회원가입을 할때         print("post전달 완료")         # 프로필도 받을 것이기 때문에 받은 것이다.          if form.is_valid():             print("데이터는 유효합니다.")             user = form.save()                          return redirect('accounts:login')     else : # request.POST로 들어오지 않았다는 것은 오류사항이다.          print("데이터는 유효하지 않습니다.")         form = SignupForm()              print("post전달 완료 return 부분임")     return render(request, 'accounts/signup.html' , {         'form'  : form ,     })      def login_check(request ):     if request.method == 'POST':         form = LoginForm(request.POST)         name = request.POST.get('username') # username으로 보내진 값을 변수에 저장         pwd = request.POST.get("password")         user = authenticate(username=name , password=pwd)          if user is not None:             login(request , user)             return redirect("/")         else:              return render(request , 'accounts/login_fail.html')     else:         form = LoginForm()         return render(request , 'accounts/login.html' , {'form' : form}) def logout(request): # logout은 매우 간단하다 우리가 아까 import한 auth 이다.      django_logout(request)     return redirect('/') [signup.html] {% extends 'accounts/layout.html' %} {% block content %} <div id="main_container">     <div class="form_container">         <div class="form">             <form action="" method='post' enctype="multipart/form-data">                 {% csrf_token %}                   {{ form.as_p }}                 <input type="submit" class='submit_btn' value='가입'>             </form>                      </div>             <div class="bottom_box">                 <div>                     <span>아이디가 있다면</span><a href="{% url 'accounts:login' %}">로그인</a>                 </div>             </div>     </div> </div> {% endblock content %}  [admin.py] from django.contrib import admin from .models import Profile # Register your models here. @admin.register(Profile) class ProfileAdmin(admin.ModelAdmin):     list_display = ['id' , 'nickname' , 'user']     list_display_links = ['nickname' , 'user']     search_fields = ['nickname'] 진짜진자 귀찮겠지만 꼭봐주세요 저 힘으로는 불가능합니다... 회원가입이 되질 않아요.. 계속 사용자명에서 그  username = forms.CharField(label="사용자명" , widget=forms.TextInput(attrs={         "pattern" : "[a-zA-Z0-9]+",         "title" : "특수문자 , 공백 입력불가 다시 확인해주세요.",    })) 저기 title부분이 자꾸 떠요 근데 이상한건 views에서 정확하게 forms로 전달이 되긴했는데 이유를 모르겠어요 error도 안뜨고 차라리 error가 뜨면 편한데 말이죠.. 부탁드립니다...!!

1
sincc0715 프로필

HTML에서 django태그로 model에 있는 데이터를 가져오는데... sincc0715 1달 전
{{ post.author.profile.nickname }}  이런식으로 HTML에다가 태그를 달아서 데이터를 가져오는데.. 이게 저희가 accouts랑 post랑 model.py를 따로 만들었는데 post에서 author를 가져오는데 어떻게 post에서 만든 author가 accounts에서 만든 profile model의 이미지를 가져오는지 궁금해서  어 제가 설명을 못해서..  - accounts의 profile 모델이랑 post의 Post 모델을 만듬        - post의 데이터를 HTML에다가 가져오는데 {{ author.profile.nickname }} 이렇게 가져왔는데 여기서 궁금한게 .. profile의 모델은 accounts에서 만들었는데 어떻게  post 모델에서 가져올수 있는지 궁금합니다... 하 정말 저 설명 못하는거 같내요.. ㄷㄷ  너무 궁금해요~~~~~~~~~~~

1
sincc0715 프로필

templates에 layout.html을 확장할때 config가 아니라 post/templates/post로가서... sincc0715 1달 전
layout.html 만들고 거기서 {% extends 'layout.html' %} 이렇게 하는데 또 이 layout.html을 post_list.html에다가 {% extends 'post/layout.html' %} 이렇게 확장하는데 궁금한게 그냥 post_list.html에다가 {% extends 'layout.html' %} 이렇게 작성해도 되지 않나요? 구지 post/templates/post 안에 다시 layout.html을 만들어서 그걸로 post_list.html에 확장하는지 궁금합니다. 

1
sincc0715 프로필

templates file을 공유해주실수 없나요?? sincc0715 1달 전
강의를 보면 볼수록 code가 바껴져 있는게 너무 헷갈리네요... 하... 바뀌면 강의에 file이라도 남겨주시는 낫지 않을까요 강의를 볼수록 진행하기가 너무 힘드네요... 다른건 다좋은데 이거때매 공부하기가 너무 힘드네요

1
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스