수강이 제한됩니다.
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
re_path 오류
안녕하세요 강사님,accounts/urls.py 에서 re_path 부분에서 계속 오류가 나는데 왜 이런건지 모르겠어서 질문 드립니다 ㅜㅜurlpatterns = [ path('login/', views.login, name='login'), path('logout/', views.logout, name='logout'), path('password_change/', views.password_change, name='password_change'), path('signup/', views.signup, name='signup'), path('edit/', views.profile_edit, name='profile_edit') re_path(r'^(?P<username>[\w.@+-]+)/follow/$', views.user_follow, name='user_follow'), re_path(r'^(?P<username>[\w.@+-]+)/unfollow/$', views.user_unfollow, name='user_unfollow'), ]@login_required def user_follow(request, username): follow_user = get_object_or_404(User, username=username, is_active=True) # request_user => follow_user 을 팔로우 하려고 합니다. request.user.following_set.add(follow_user) # followr_user 팔로워 목록에 request_user 추가해줍니다. follow_user.follower_set.add(request.user) messages.success(request, f"{follow_user}님을 팔로우했습니다.") redirect_url = request.META.get("HTTP_REFERER", "root") return redirect(redirect_url) @login_required def user_unfollow(request, username): unfollow_user = get_object_or_404(User, username=username, is_active=True) # request_user => follow_user 을 언팔로우 하려고 합니다. request.user.following_set.remove(unfollow_user) # followr_user 팔로워 목록에 request_user 추가해줍니다. unfollow_user.follower_set.remove(request.user) messages.success(request, f"{unfollow_user}님을 팔로우 취소했습니다.") redirect_url = request.META.get("HTTP_REFERER", "root") return redirect(redirect_url) File "C:\Inflearn\blog\accounts\urls.py", line 11 re_path(r'^(?P<username>[\w.@+-]+)/follow/$', views.user_follow, name='user_follow'), ^SyntaxError: invalid syntax 자꾸 위와같은 오류가 뜨는데 왜 이런걸까요?ㅜ
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
re_path url
안녕하세요 강사님, re_path 를 이용하는 url 정의에서요,follow 관련 url은 왜 account/urls.py 에서 정의하고유저페이지 관련 re_path url 은 instagram/urls.py 에서 정의하셨는데요,둘다 account나 instagram 중 하나의 url 패턴에 정의하면 안되는 걸까요?
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
No post matches the given query
강사님 안녕하세요, 오류가 발생해서 질문 드립니다 ㅜㅜhttp://127.0.0.1:8000/post/1/로 접속을 하면계속 이와 같은 오류가 뜹니다 ㅠㅠ이렇게 분명 포스트가 db 에 저장되어있는데 말이죠 .. ㅠㅠ이전에 작성했었다가 사용자를 다시 지우면서 같이 삭제된 포스팅이 있는데 그것 때문에 pk 값이 꼬인 것은 아니겠죠? urlpatterns = [ path('post/new/', views.post_new, name='post_new'), path('post/<int:pk>/', views.post_detail, name='post_detail') ](제 앱 이름은 myblog 로 해두었습니다)from django.contrib import messages from django.contrib.auth.decorators import login_required from django.shortcuts import get_object_or_404, redirect, render from .forms import PostForm from .models import Post # Create your views here. @login_required def post_new(request): if request.method == 'POST': form = PostForm(request.POST, request.FILES) if form.is_valid(): post = form.save(commit=False) post.author = request.user post.save() # 이걸 나중에 하면 안되나? post.tag_set.add(*post.extract_tag_list()) messages.success(request, "포스팅을 등록했습니다.") return redirect("/") # TODO : get_absolute_url 활용 else: form = PostForm() return render(request, "myblog/post_form.html", { "form": form, }) def post_detail(request, pk): post = get_object_or_404(Post, pk=pk) return render(request, "myblog/post_detail.html", { "post" : post, }) views.pyimport re from django.conf import settings from django.db import models from django.urls import reverse # Create your models here. class Post(models.Model): author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) photo = models.ImageField(upload_to="myblog/post/%Y/%m/%d") caption = models.CharField(max_length=1000) tag_set = models.ManyToManyField('Tag', blank=True) location = models.CharField(max_length=100) def __str__(self): return self.caption def extract_tag_list(self): tag_name_list = re.findall(r"#([a-zA-Z\dㄱ-힣]+)", self.caption) tag_list = [] for tag_name in tag_name_list: tag, _ = Tag.objects.get_or_create(name=tag_name) tag_list.append(tag) return tag_list def get_absolute_url(self): return reverse("myblog:post_detail", args=[self.pk]) class Tag(models.Model): name = models.CharField(max_length=50, unique=True) def __str__(self): return self.namemodels.py이상한 부분은 없는 것 같습니다만 왜 이러는지 모르겠네요..ㅠㅠ그런데 또 쌩뚱맞은 http://127.0.0.1:8000/post/5/ url 을 입력하면 아래와 같이 다른 오류가 뜹니다.. 감사합니다 ! ㅠㅠ
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
sendgrid 메일 발송이 안됩니다 ㅠㅠ
7개월 전에 이 기능을 구현을 했고, python shell 로 메일보내서 1 확인 후 메일 확인, 실제로 회원가입 후 메일 발송되는 것까지 확인을 했습니다.sendgrid 회원가입은 구글 계정으로, sender 계정 이메일은 naver 이메일로 하였었구요. send_grid_api_key 값은 잘 지정해주었습니다 ㅜㅜ 아직도 python shell 에서 메일을 보내보면 1이 잘 뜨는데 메일이 발송되지 않습니다.. 스팸메일함 전체메일함 다 확인했는데도 안되네요 ㅜㅜㅜㅜ혹시 몰라서 sender authentication 부분 첨부합니다 ㅜㅜclass User(AbstractUser): class GenderChoices(models.TextChoices): MALE = "M", "남성" #전자는 DB에 저장되는 값, 후자는 실제 보여지는 값 FEMALE = "F", "여성" sns_url = models.URLField(blank=True) bio = models.TextField(blank=True) phone_number = models.CharField(max_length=13, blank=True, validators=[RegexValidator(r"^010-?[1-9]\d{3}-?{4}$")]) gender = models.CharField(max_length=1, blank=True, choices=GenderChoices.choices) avatar = models.ImageField(blank=True, upload_to="accounts/avatar/ $Y/%m/%d") def send_welcome_email(self): subject = render_to_string("accounts/welcome_email_subject.txt", { "user": self, }) content = render_to_string("accounts/welcome_email_content.txt", { "user": self, }) sender_email = settings.WELCOME_EMAIL_SENDER send_mail(subject, content, sender_email, [self.email], fail_silently=False) # SEND GRID 설정 SENDGRID_API_KEY = os.environ.get("SENDGRID_API_KEY") EMAIL_HOST = 'smtp.sendgrid.net' EMAIL_HOST_USER = 'apikey' EMAIL_HOST_PASSWORD = SENDGRID_API_KEY EMAIL_PORT = 587 EMAIL_USE_TLS = True WELCOME_EMAIL_SENDER = "신상정보라가렸습니다!!@naver.com"각각 models.py 와 common.py 입니다 ㅜㅜ
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
502 bad gateway
강사님 안녕하세요강사님 강의 덕분에 저 혼자서 페이지도 만들고 nginx 사용해서 서버까지 배포해보았습니다.다름이 아니라 3일전 까지만 해도 느리긴 했지만 잘 되던 서버가오늘 서버내의 기능을 사용할려고 하니 502 bad gateway를 내 뱉으면서 멈춰버립니다.(되다가 안되다가 반복함)그래서 error 로그를 찾아보니2023/11/01 00:20:22 [error] 10930#10930: *232 upstream prematurely closed connection while reading response header from upstream라고 뜨네요 3일동안 해봤는데 헛발짓만 했네용..gpt한테 물어봐도 메모리 리소스, 네트워크 문제 , 응답시간 문제 등 이라곤 하는데 메모리랑 네트워크에는 아무런 문제가 없는거 같습니다.3일전까지만 해도 잘되던 서버가 안되니까 많이 답답하네요..
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
리뉴얼 강의 질문, 건의
선생님 안녕하세요.좋은 강의해주시고 리뉴얼도 준비해주셔서 감사합니다. 무척 기대하는 마음으로 기다리고 있는데요. 리뉴얼 강의에 대해서 질문 및 요청 사항이 있어서 글 남깁니다. 다른 질문 글에서 리뉴얼 강의에서도 리액트를 다룰 예정이시라고 들었는데요. 리액트에서 18버전에서 업데이트 된 기능들, server component 같은 부분도 다루어지는지, Next를 다루실 계획도 있으신지 궁금합니다. 그리고 혹시 리뉴얼에서 테스팅도 다루실 계획이 있으신가요? 앱을 만들어볼수록 테스팅이 참 중요하다는 걸 느끼게 되는데요. 실습으로 만드는 프로젝트를 위한 테스팅 코드까지 다루어진다면 정말 실전에서 필요한 건 빠지는 게 없는 강의가 되지 않을까 하는 기대를 해봅니다. 감사합니다!
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
강의 자료에 잘못 써져있는건 고쳐주시길 부탁드립니다.
이번에 듣고 있는데 CBV 설명하실 때context = self.get_queryset()를 잘 못 적으셨다고 합니다.이 부분은 강의를 듣는 사람에게 혼란을 야기할 수도 있다고 생각합니다. 그 이유는 설명에서는 get_context로 바꾸면 된다고는 하지만 그 다음 설명인 ListView의 내부를 살펴봤을 땐 'get_context_data', 'get_context_object_name'이 두가지의 함수가 존재합니다.그래서 어느 함수가 쓰여져있는지 강의를 듣는 사람 입장에서 혼란스러울 수 밖에 없는 입장이 될 수 있습니다.이 부분은 물론 강의 듣는 사람이 실습하면서 직접 알아볼 수 도 있지만 강의 하시는 분이시니 고쳐주셨으면 합니다. 오탈자 목록을 지원하지 않으시다면 수정해서 다시올려주시면 감사합니다.
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
drf + react 로 배포 고민이 있습니다
drf + react 로 배포 고민이 있는데요 혹시 참고할만한 강의 있을까요?그리고 portone 결제 강의 들었는데 drf 버젼으로 강의 만들어서 배포까지 가르치는 강의 계획은 없으신가요? 아니면 fastapi나 django ninja + react 강의는 계획 없으신가요?
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
소스코드 문의
안녕하세요, 강사님!코드를 치는데 시간이 너무 오래 걸리는데,혹시 소스코드는 제공이 안되는 건가요?
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
DRF로 로깅 시스템을 만들어보려고 하는데 authentication을 어떤 식으로 하는 게 좋을까요?
선생님 안녕하세요. 좋은 강의 해주셔서 항상 감사합니다. 다름이 아니라 DRF를 이용해서 간단한 로깅 시스템을 만들어보려고 하는데 authentication을 어떤 식으로 하는 게 좋을지 고민되어서 질문드립니다. 연구 프로젝트에서 유저 인터랙션을 보는 목적으로 하는 거라 프론트엔드에서 특정 html element를 클릭하면 별도의 로깅 서버로 간단하게 인터랙션과 관련된 정보, user id, timestamp, 클릭한 element 정보 등을 보내게 하려고 하는데요. 로그를 받아서 저장만 하는 서버이니 굉장히 단순한 형태가 될 것 같기는 한데, 그렇다고 인증절차를 아무 것도 안 하고 그냥 놔두자니 뭔가 좀 불안하기도 해서 어떻게 해야할지 고민입니다. 사용자가 사용하게 될 웹앱과는 아예 다른 클라우드 서버에서 돌아가게 할 예정이어서 internal url을 쓰게 할 수는 없을 것 같고 어쨌든 외부로 url을 열어두기는 해야할 것 같은데 이런 경우 인증 절차나 보안 관련된 부분은 어떤 식으로 설계하는 게 좋을까요? 감사합니다.
- 해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
파이참 유료버전으로 비spa방식 인스타그램 클론 코딩 따라하는 경우
안녕하세요좋은 강의 항상 감사히 잘 듣고 있습니다!혹시 파이참 유료버전으로 비spa방식 인스타그램 클론 코딩 따라하는 경우이 수업 대신섹션 12 / 보너스: 파이썬/장고 개발환경 구축하기 (2022년 버전)을 보고 따라하면 되는걸까요? 아니면 파이참 유료 버전에서는 자동으로 세팅이 되는걸까요? 앞에서 쭉 파이참으로 실습하다가 혼란이 와서 질문드립니다.(왕초보 수강생이라 양해부탁드려요..ㅎㅎ) 즐거운 명절 보내세요. 감사합니다..^^(파이참 쿠폰 감사합니다!)
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
명령 프롬프트에서 conda 명령어에 오류가 나서 질문드립니다.
안녕하세요? 강의를 수강하며 파이썬을 설치하려고 하는데 오류가 나서 질문드립니다.아나콘다 최신 버전을 설치하고 강의에서 알려주신 대로 명령 프롬프트에서 conda --version 명령어를 실행하였는데 '내부 또는 외부 명령 실행할 수 있는 프로그램 또는 배치 파일이 아닙니다'라는 오류가 납니다.검색해 보았더니 환경변수를 추가하라고 해서 추가도 해봤는데 계속 오류가 납니다. Anaconda Prompt에서는 실행이 되는 것 같은데, 왜 그런지 궁금해서 질문드립니다.
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
수업 커리큘럼에 대한 질문입니다~!
안녕하세요^^수업을 듣다 보니 이전 수업들에서 만든 것을 버리고?새로 시작하는 거 같은데 맞을까요??혹시 이유가 무엇인지 설명해주실수 있을까요?갑자기 새로 처음부터 시작하는 이유를 몰라서 혼란스럽니다^^
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
python3 manage.py showmigrations 에서 오류
# python3 manage.py showmigrationsTraceback (most recent call last): File "manage.py", line 21, in <module> main() File "manage.py", line 17, in main execute_from_command_line(sys.argv) File "/usr/local/lib/python3.6/dist-packages/django/core/management/__init__.py", line 401, in execute_from_command_line utility.execute() File "/usr/local/lib/python3.6/dist-packages/django/core/management/__init__.py", line 395, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/usr/local/lib/python3.6/dist-packages/django/core/management/base.py", line 328, in run_from_argv self.execute(*args, **cmd_options) File "/usr/local/lib/python3.6/dist-packages/django/core/management/base.py", line 369, in execute output = self.handle(*args, **options) File "/usr/local/lib/python3.6/dist-packages/django/core/management/commands/showmigrations.py", line 52, in handle return self.show_list(connection, options['app_label']) File "/usr/local/lib/python3.6/dist-packages/django/core/management/commands/showmigrations.py", line 71, in show_list loader = MigrationLoader(connection, ignore_no_migrations=True) File "/usr/local/lib/python3.6/dist-packages/django/db/migrations/loader.py", line 49, in init self.build_graph() File "/usr/local/lib/python3.6/dist-packages/django/db/migrations/loader.py", line 274, in build_graph raise exc File "/usr/local/lib/python3.6/dist-packages/django/db/migrations/loader.py", line 248, in build_graph self.graph.validate_consistency() File "/usr/local/lib/python3.6/dist-packages/django/db/migrations/graph.py", line 195, in validate_consistency [n.raise_error() for n in self.node_map.values() if isinstance(n, DummyNode)] File "/usr/local/lib/python3.6/dist-packages/django/db/migrations/graph.py", line 195, in <listcomp> [n.raise_error() for n in self.node_map.values() if isinstance(n, DummyNode)] File "/usr/local/lib/python3.6/dist-packages/django/db/migrations/graph.py", line 58, in raise_error raise NodeNotFoundError(self.error_message, self.key, origin=self.origin)django.db.migrations.exceptions.NodeNotFoundError: Migration accounts.0001_initial dependencies reference nonexistent parent node ('auth', '0012_alter_user_first_name_max_length')powershell에서 python3 manage.py showmigrations명령을 수행했을때 위와같은 오류가 뜨네요.. 뭐가 문제인걸까요?
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
개정 버전은 언제 업로드 예정이실까요?
우선 수업 재미나게 잘 듣고 있습니다.공지에서 개정 버전을 새로 업로드 하신다는 글을 봤는데 언제 업로드 예정인지 궁금합니다.
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
CORS 에러
import React from 'react'; import Axios from 'axios'; class EpisodeList extends React.Component { state = { episodeList: [], }; componentDidMount() { const apiUrl = 'https://www.tvmaze.com/api'; const params = { q: 'mr-robot', embed: 'episodes', }; Axios.get(apiUrl, { params }) .then((response) => { console.log(response); }) .catch((error) => { console.error(error); }); } render() { const { episodeList } = this.state; return ( <div> <h1>EpisodeList</h1> {JSON.stringify(episodeList)} </div> ); } } export default EpisodeList;위 코드와 같이 실행하면 다음의 에러가 뜹니다.Access to XMLHttpRequest at 'https://www.tvmaze.com/api?q=mr-robot&embed=episodes' from localhost/:1 origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.사이트의 api가 바뀌어서 url과 쿼리는 현재 작동하는 방식으로 바꾸었을 뿐 이외에는 동일하게 따라했는데, 이렇게 되는 이유를 모르겠습니다.참고로 다음을 실행하였을 때 정상적으로 응답이 오는 것을 확인하였습니다.http https://www.tvmaze.com/api q==mr-robot embed==episodes
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
AuthorSerializer 의 avatar_url_field 메서드의 author 인자 질문입니다.
질문있습니다 강사님,instagram /serializers.py 에서AuthorSerializer 클래스의 avatar_url_field 메서드는두번째 인자로 author 를 받아서 처리해주고 있는데AuthorSerializer 내부에서 author를 정의해준 부분이 없는데어떻게 author를 인자로 받을 수 있는걸까요? 마찬가지로 PostSerializer 클래스의 is_like_field 메서드의 두번째 인자인 post도 어떻게 받아 처리하는 건지 궁금합니다.
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
한 페이지 내에 검색창과 입력창을 동시에 구현하는 방법이 궁금합니다.
아래 그림과 같이 한 화면에 검색창과 입력창을 동시에 구현하는 방법에 관해 조언을 구하고 싶습니다.위쪽이 input form이고 아래쪽이 검색창입니다. 사용자가 값을 입력하는 중 자료를 검색하여 그 결과를 참고해서 입력할 수 있도록 구현하고자 합니다.GET 방식으로 검색기능을 구현했을 때, 검색이 되면 그동안 사용자가 입력하던 텍스트가 사라집니다.사용자가 입력하고 있던 값들도 그대로 유지한 채 사용자가 중간중간 검색을 하면서 값을 입력하고 최종적으로 한 번에 저장할 수 있도록 하는 방법이 있을까요?답변 기다리겠습니다.감사합니다.
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
serializer에 왜 create/update/save함수가 있나요?
안녕하세요 수업 잘 듣고 있어요 :) DRF 시리얼라이저 궁금한 게 있는데..시리얼라이저에서 update, create, save를 오버라이딩 할 수 있는데, 이게 json으로 들어온 값을 객체로 만들어서 바로 DB에 넣기 위해 존재한다고 보면 맞을까요?장고는 MVT 모델이잖아요, 프론트엔드를 react로 하게 되면 DRF에서는 M, V만 건들면 될 것 같고Model을 수정하는 create, update, save 같은 로직은 view단에서 해야할 거 같은데 왜 이게 시리얼라이저에 들어가 있는 지 궁금해요 ㅜㅜ 예를 들어 회원가입 요청이 json, post요청으로 날아오면View단에서 CreateAPIView의 post 함수 오버라이딩 하면서 시리얼라이즈하면서 객체 A로 만들어주고, 이걸 someModel.objects.create (A)해야할 것 같은데, 이게 왜 serializer 속으로 들어가 있는 지 궁금합니다.
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
makemigration, migrage 실행했는데 데이터베이스 테이블 생성이 안됩니다 ㅜㅜ
makemigration, migrate 실행했는데 데이터베이스 테이블 생성이 안됩니다 ㅜㅜsettings.py 입력,urls.py 입력,instagram 앱 안의urls.py입력,models.py입력모두 다 했는데 아래와 같이 터미널창에 뜹니다 ㅠㅠ