수강이 제한됩니다.
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
안녕하세요 선생님!! 장고 엑셀다운로드 로딩에 대하여 질문드립니다
안녕하세요!! 선생님!!! ㅎㅎㅎ 장고 다운로드 로딩에 대하여 질문드리려 합니다!! (웹은 장고로만 개발하였습니다!!) 제가 구현한 내용은 단순히 모델을 불러와서 가공후 csv 파일로 response하는 view를 만들었습니다! 그래서 다운로드 버튼을 클릭하면 모델에 있는 데이터가 다운이 되는 그러한 로직입니다! 위와 같이 그냥 요청이 오면 모델을 불러와서 응답해주는?? 단순한 view입니다!ㅎ 다만 join이 많이 걸려있고 데이터가 좀 많다보니 시간이 상당히 많이 소요가 되는데요.. 문제가 다운로드버튼(위에 설명한 view와 연결한버튼)을 클릭 한 후 서버가 이를 처리를 하는데 서버자체가 이 작업을 끝날때 까지 먹통이되는? (제 3자가 웹에 접속했을때도 이 처리 때문에 위 처리가 끝날때 까지 아무런 요청을 할 수 없습니다) 문제가 발생합니다.. 제가 사용한 서버는 AWS EC2를 활용해 도커 compose파일로 nginx, gunicorn, mariadb를 연결해서 하나의 서비스로 만들어 배포하였습니다. 또한 로드밸런서 세팅도 되있습니다. 로컬에서 개발서버로 테스트 할때는 그냥 다운로드 버튼을 클릭을 해도 바로 종료가 가능하고 다른 브라우저로 접근해도 독립적으로 작동했는데 배포를 하니깐 위와 같은 현상이 발생하네요! 서버 성능의 문제인가 해서 인스턴스 유형도 좀더 올려보고 했지만 역시 위문제는 해결되지 않았습니다..ㅠ 그래서 뭔가 비동기적으로 처리하기위해서 celery를 이용해 볼까 했는데 잘못된 접근인건지 잘모르겠지만 피라미터를 어떻게 설정해야할지 몰라서 구현에 실패를 했습니다 ㅠ 서버의 문제라면 어떻게 접근을 해야하는지,,,,, 아니면 장고로 위와 같은 문제가 해결이 가능하다면 어떻게 코드를 작성하면 좋을지 부족한게 많다보니 며칠째 해결이 안되네요 ㅠㅠ 부족한 설명이지만 잘 부탁드리겠습니다!! 너무 감사합니다 선생님!!
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
FieldError at /instagram/post/
안녕하세요, 선생님! 오늘도 신기한 기능 알려주셔서 감사합니다. 그런데 model.py와 view.py 수정 후 migrate까지 했는데도, FieldError가 발생합니다. create_at에 문제가 있다고 추측만가능하고, 해결방법을 찾지 못했습니다. 정확하게 이 에러가 어떤 상황에서 발생하는지, 어떻게 해결할 수 있는지 조언해주실 수 있으신가요? 에러화면 view.py from datetime import timedeltafrom django.contrib import messagesfrom django.contrib.auth import get_user_modelfrom django.contrib.auth.decorators import login_requiredfrom django.db.models import Qfrom django.shortcuts import render, redirect, get_object_or_404from django.utils import timezonefrom .forms import PostFormfrom .models import Post@login_requireddef index(request): timesince = timezone.now() - timedelta(days=3) post_list = Post.objects.all()\ .filter( Q(author=request.user) | Q(author__in=request.user.following_set.all()) )\ .filter( created_at__gte=timesince ) suggested_user_list = get_user_model().objects.all()\ .exclude(pk=request.user.pk)\ .exclude(pk__in=request.user.following_set.all())[:3] return render(request, "instagram/index.html", { "post_list": post_list, "suggested_user_list": suggested_user_list, }) models.py import refrom django.conf import settingsfrom django.db import modelsfrom django.urls import reverse# Create your models here.class BaseModel(models.Model): created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) class Meta: abstract = Trueclass Post(models.Model): author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) photo = models.ImageField(upload_to = "instagram/post/%Y/%m/%d") caption = models.TextField(max_length=500) tag_set = models.ManyToManyField('Tag', blank = True) location = models.CharField(max_length=100) def __str__(self): return self.caption
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
npm install 로 문제없이 yarn 설치를 했는데 yarn 이 실행이 안되네요
- 혹시 위와같은 문제에 대해서 알수 있을까요
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
requirment.txt 관련 질문입니다.
안녕하세요 인프런 강의를 듣기전 docker 공부를 하고있는 사람입니다. pip freeze > requirments.txt 하고 난 뒤 버전정보가 숫자가아닌 경로로 나오는 경우는 어찌해야 할지 모르겠네요 aiohttp @ file:///C:/ci/aiohttp_1602530153430/work
- 해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
내용 학습 관련 질문
안녕하세요. 학습을 최근에 시작한 초급자입니다. 현재 장고 프로젝트 생성하여 생성된 폴더와 파일들이 무슨 기능을 하는 지에 대해 듣고 있습니다. 첫 번째 질문입니다. 제가 학습해나가는 것을 TIL로 깃헙에 올리고 싶은데, 코드는 똑같이 안쓰고 참고하여 다른 예시로 작성하면 된다면 이런 개념적인 부분들은 출처와 함께 그대로 써도 되는지 아니면 표현을 달리 해서 올리면 되는 지 알고 싶습니다. 이에 대해 먼저 묻고 작성하는 것이 예의인 것 같아 여쭤봅니다. 앞으로의 내용이 참 기대됩니다. 두 번째 질문입니다. 강의 시작 전에 SQL에 대해서 알고 있어야 하나요???
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
rest_framework_jwt를 임포트할 수 없다는 에러가 발생합니다
안녕하세요? 강의 잘 듣고 있습니다. 강의 11분경 즈음 rest_framework_jwt에러가 발생합니다 가상환경에 알맞게 설치되었는지는 확인했고 / 혹시나 해서 pip uninstall후 다시 install까지 해봣는데도 에러가 발생하네요 찾아보니까 simple-jwt를 써보라는데, 그것도 안되는 것 같았습니다 ㅠ 우선 제 settings.py입니다 REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': [ 'rest_framework.authentication.SessionAuthentication', # 'rest_framework.authentication.TokenAuthentication', 'rest_framework_jwt.authentication.JSONWebTokenAuthentication', ], 그리고 이렇게 해둔 상태에서 runserver를 cmd에서 돌리니까 다음과 같은 에러가 cmd에서 발생합니다. (askcompany) C:\Users\user\yb\django_askcompany\askcompany\Scripts\_askcompany8>python manage.py runserver Watching for file changes with StatReloader Performing system checks... Exception in thread django-main-thread: Traceback (most recent call last): File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\rest_framework\settings.py", line 177, in import_from_string return import_string(val) File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\django\utils\module_loading.py", line 30, in import_string return cached_import(module_path, class_name) File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\django\utils\module_loading.py", line 15, in cached_import import_module(module_path) File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\importlib\__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1050, in _gcd_import File "<frozen importlib._bootstrap>", line 1027, in _find_and_load File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 688, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 883, in exec_module File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\rest_framework_jwt\authentication.py", line 4, in <module> from django.utils.encoding import smart_text ImportError: cannot import name 'smart_text' from 'django.utils.encoding' (C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\django\utils\encoding.py) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\threading.py", line 1009, in _bootstrap_inner self.run() File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\threading.py", line 946, in run self._target(*self._args, **self._kwargs) File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\django\utils\autoreload.py", line 64, in wrapper fn(*args, **kwargs) File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\django\core\management\commands\runserver.py", line 124, in inner_run self.check(display_num_errors=True) File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\django\core\management\base.py", line 438, in check all_issues = checks.run_checks( File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\django\core\checks\registry.py", line 77, in run_checks new_errors = check(app_configs=app_configs, databases=databases) File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\django\core\checks\urls.py", line 13, in check_url_config return check_resolver(resolver) File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\django\core\checks\urls.py", line 23, in check_resolver return check_method() File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\django\urls\resolvers.py", line 448, in check for pattern in self.url_patterns: File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\django\utils\functional.py", line 48, in __get__ res = instance.__dict__[self.name] = self.func(instance) File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\django\urls\resolvers.py", line 634, in url_patterns patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module) File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\django\utils\functional.py", line 48, in __get__ res = instance.__dict__[self.name] = self.func(instance) File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\django\urls\resolvers.py", line 627, in urlconf_module return import_module(self.urlconf_name) File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\importlib\__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1050, in _gcd_import File "<frozen importlib._bootstrap>", line 1027, in _find_and_load File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 688, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 883, in exec_module File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed File "C:\Users\user\yb\django_askcompany\askcompany\Scripts\_askcompany8\_askcompany8\urls.py", line 7, in <module> path('accounts/', include('accounts.urls')), File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\django\urls\conf.py", line 34, in include urlconf_module = import_module(urlconf_module) File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\importlib\__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1050, in _gcd_import File "<frozen importlib._bootstrap>", line 1027, in _find_and_load File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 688, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 883, in exec_module File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed File "C:\Users\user\yb\django_askcompany\askcompany\Scripts\_askcompany8\accounts\urls.py", line 1, in <module> from rest_framework.authtoken.views import obtain_auth_token File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\rest_framework\authtoken\views.py", line 6, in <module> from rest_framework.schemas import ManualSchema File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\rest_framework\schemas\__init__.py", line 33, in <module> authentication_classes=api_settings.DEFAULT_AUTHENTICATION_CLASSES, File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\rest_framework\settings.py", line 225, in __getattr__ val = perform_import(val, attr) File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\rest_framework\settings.py", line 168, in perform_import return [import_from_string(item, setting_name) for item in val] File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\rest_framework\settings.py", line 168, in <listcomp> return [import_from_string(item, setting_name) for item in val] File "C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\rest_framework\settings.py", line 180, in import_from_string raise ImportError(msg) ImportError: Could not import 'rest_framework_jwt.authentication.JSONWebTokenAuthentication' for API setting 'DEFAULT_AUTHENTICATION_CLASSES'. ImportError: cannot import name 'smart_text' from 'django.utils.encoding' (C:\Users\user\yb\django_askcompany\askcompany\lib\site-packages\django\utils\encoding.py). 가상환경에서 사용되는 버전은 다음과 같습니다. 늘 빠르고 친절한 답변에 감사드립니다.
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
assertion error at /public/이 뜹니다
안녕하세요? 강의 잘 듣고 잇습니다. 에러가 발생하는데, drf는 정말 생소해서 뭘 어떻게 건드려야 할지도 모르겠네요 ㅠㅠ 우선 다음과 같은 에러가 발생합니다 현재 view는 다음과 같습니다. from rest_framework.serializers import ModelSerializer from.models import Post from rest_framework import serializers from django.contrib.auth import get_user_model class AuthorSerializer(serializers.ModelSerializer): class Meta: model = get_user_model() firelds = ['username','email'] class PostSerializer(serializers.ModelSerializer): # author_email = serializers.ReadOnlyField(source='author.email') author = AuthorSerializer() class Meta: model = Post fields = [ 'pk', # 'author_email', 'author', 'message', 'created_at', 'updated_at', ] author serializer부분에 뭔가를 해줘야 하는 것 같은데 잘모르겠네요 ㅠㅠ 늘 좋은 강의와 답변 감사합니다.
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
하나의 view에 form 여러개 다루는법이 궁금합니다
먼저 강의내용과 직접적인 관련이 있는 질문이 아닌점 죄송합니다. 검색을 많이 해봤는데 아직 모르겠어서 여기에 질문을 올려봅니다. 하나의 view에 여러개의 form을 사용하여 한번에 submit을 하여 여러 모델객체를 save 해야하는데 어떤식으로 구현해야하는지 감이 오지않습니다. 아래 이미지와 같이 admin 의 tabularinline 같은 화면을 직접 구현하는 경우 form을 어떻게 사용하는지 궁금합니다. 1. form을 두개이상 사용하면 한번에 submit 처리를 어떻게하나요? 2. 한번에 처리가 된다면 view에서 어떻게 구분해서 받나요 3. (현재하고있는 방법)form을 사용하지 않고 화면을 직접그려서 POST로 전체 데이터를 넘기는데 각 데이터는 request.POST['key'] 로 값을 꺼내서 각각 모델에 세팅한 후 save할 수 밖에없나요 model을 구분해서 알아서 세팅되게 할 수 없나요? (스프링 컨트롤러 인자값으로 모델객체 쓰는것 같이 일일이 get해서 모델에 set하지 않는 방법)
- 해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
ValidationError 일으킬 시 error code 제공은 필수적인가요?
https://docs.djangoproject.com/en/4.0/ref/forms/validation/ 공식문서에서는 error code 를 제공하는 것을 권장하고 있습니다. 이는 항상 지켜야 하는 걸까요? 선택의 기준이 있는지 궁금합니다. 강의 내에서는 안쓰는 것 같기도 하고요 감사합니다!
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
form.save() // 함수기반 뷰에 대해서 질문드립니다
안녕하세요? 강의 잘 듣고 있습니다. 좋은 강의와 친절한 답변에 늘 감사드립니다. 1. @login_required def comment_new(request,post_pk): post = get_object_or_404(Post,pk=post_pk) if request.method =="POST": form = CommentForm(request.POST,request.FILES) if form.is_valid(): comment = form.save(commit = False) comment.post = post comment.author = request.user comment.save() return redirect(comment.post) #comment.post > 코멘트의 post 객체 > 해당 post의 url로 이동 else: form = CommentForm() return render(request,"instagram/comment_form.html",{"form":form,}) 이전에 드렸어야 할 질문인 것 같은데, 갑자기 눈에 밟혀서 질문 드립니다. 해당 강의에서 comment_new view에 관한 부분 중에, comment = form.save(commit=False)이 부분이 좀 궁금한데요, 실제 모델에서는 post나 author에 대한 정보가 필요하기 때문에, 바로 commit을 하는게 아니라 해당 정보를 넣어주고 commit 해주기 위해서 commit = False와 같은 식으로 해주는 것은 이해했습니다. 궁금한 부분은, 굳이 comment = form.save()로 받아줄 필요없이 바로 form = CommentForm(request.POST,request.FILES) form.post = post form.author = request.user form.save() 와 같이 해주면 안되나요?? 2. 강의중에 몇번 말씀해주신게,'함수기반 뷰를 만들고 > 클래스기반 뷰를 활용해보는게 좋다' 와 같은 식으로 몇번말씀해주셨는데요, 함수기반뷰는 일일이 작성해줘야 하기 때문에 메커니즘을 좀 이해할 수 있어서 라고 이해를 했습니다. 근데 궁금한게, 그냥 함수기반뷰만 사용하면 안되나요? 장고를 사용하다보면 자연스럽게 클래스기반뷰로 넘어가는 경향이 있는지, FBV 에 비해서 CBV의 장점이 무엇인지 궁금합니다.(상속을 통한 재사용성.. 정도로 생각은 하고 있습니다!) 감사합니다~
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
view.py form에 관한부분에 대해 질문입니다.
안녕하세요? 좋은 강의와 답변에 늘 감사드립니다. 강의를 들으면서 살짝 헷갈리는 부분이 있어 질문 드립니다. @login_required def profile_edit(request): if request.method == "POST": form = ProfileForm(request.POST,request.FILES,instance=request.user) #request.Post,request.Files라고 되어 있어야 post메서드와 files를 받을 수 있음 if form.is_valid(): form.save() messages.success(request,"프로필을 수정/저장했습니다") return redirect('profile_edit') else: form = ProfileForm(instance=request.user) return render(request,"accounts/profile_edit_form.html",{"form":form}) ProfileForm은 forms.py에서 설정된 모델폼입니다. 1. form = ProfileForm(request.POST~) 라고 되어 있는 부분을 '해당 폼에서(실제 브라우저에서) 내용이 채워지고 제출되었을 떄, post메서드로 들어온 부분(request.POST)이나 파일(request.FILE)로 값들이 지정된 Profileform을 form으로 삼겠다 '라고 이해하고 있었는데 , instance=request.user부분이 좀 헷갈립니다. instance=request.user가 어떤 의미로 사용된 것인가요?(왜 사용된 것인가요?) 2.form = ProfileForm(request.POST~) 에서보면, form은 ProfileForm의 인스턴스인데, 그렇다면 form.save()를 ProfileForm의 양식에 맞게 채워진 form의 내용을 한행의 데이터로써 db에 저장한다? 정도의 느낌으로 받아들여도 될까요?
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
브라우저에서 회원가입시 SMTP 에러가 발생합니다
안녕하세요? 벌써 두번째 인사드리는 것 같은데, 몇번이나 인사를 드릴까봐 겁나네요 ㅠㅠ 우선 그전 강의의 끝에서 마지막까지 진행한 후, 회원가입을 했을 때 다음과 같은 에러가 발생합니다 아마 메일이 발송될 수 없다는 것 같은데요 쉘에서는 다음과 같이 발송이 됩니다. 실제로 제 메일로 발송된 것을 확인했습니다. 아마 문제가 실제 브라우저에서 회원가입시 문제가 되는 부분이, env.bat파일때문이지 않을까 추측하고 있습니다.(윈도우 환경입니다) 일단 env.bat파일을 다음과 같이 만들어 두었습니다 set SENDGRID_API_KEY=SG.-sXxPoBP~ 그냥 sendgrid_api_key만 적어두니까 env.bat이라는 cmd명령어를 실행했을 떄, 실행이 되지 않더라구요.. 아무튼 제 추측이 맞다면, 항상 저 명령어가 실행되도록 해서 API_KEY를 가지고 있도록 해야할 것 같은데.. ㅠㅠ 답변 부탁드리겟습니다 ㅠㅠ 늘 좋은 강의와 성실한 답변 감사합니다.
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
form의 메소드 // 7장이후의 강의내용에 대해 질문드립니다.
안녕하세요? 늘 좋은 강의와 친절한 답변에 대해서 감사드립니다 1. form에 대해서 질문드립니다 def signup(request): if request.method == 'POST': form = SignupForm(request.POST) #signupform의 인스턴스 생성 if form.is_valid(): form.save() messages.success(request,"회원가입을 환영합니다") next_url=request.GET.get('next','/') #Get메소드로 들어왔을 때, next라는 인자가 있으면 그걸 가져오고, 없으면 그냥 /를 가져온나 return redirect(next_url) else: form = SignupForm() return render(request,'accounts/signup_form.html',{'form':form}) 위에서 보면 첫번째 if문에서 메소드가 post일 경우 내용을 처리해주는 것 같은데요 그 바로 밑에보면 request.Get.get이 있습니다. GET메소드에서 next가 있으면 들고오고 없으면 /를 반환하라는 것 같은데, 어째서 가능한지 모르겠습니다 ㅠ POST와 GET메소드 요청이 함께 올 수 있나요? 2. 7장 이후의 (즉 8장부터)강의 내용에 대해 질문드릴려고 합니다. 현재 7장을 들으면서 인스타그램을 만들어보고 잇습니다만 ㅠㅠ 허덕이는 제자신을 보니 아무래도 강의를 여러번 들으면서 다시 정리를 해야겠다는 생각이 많이 듭니다. 저는 4월초에 백엔드 개발자가 되기 위한 부트캠프를 들어가는데요, 그전까지 선생님의 강의로 장고를 좀 잘다듬고 싶은 마음이 있습니다. 다만 지금 제 수준을보니.. 시간이 많이 걸릴 것 같아 선택을 해야만 할 것 같습니다.ㅠㅠ 11장, 배포에 관한 부분은 부트캠프를 다니면서 나중에 들을 생각이구요 지금 고민이 되는 부분이 , 강의를 끝까지 완강을 하고 전체강의를 한두번 더들을지, 혹은 특정강까지만 강의를 듣고 그까지 3-4회정도 반복을 할까 고민중입니다. 8,9,10장의 내용이 백엔드 개발자로서, 프론트가 어떤식으로 돌아가는지 알 수있는 반드시 필요한 내용이라거나 혹은 어차피 DRF(뭔진 잘 모르겠지만 ㅠ)와 같은 기능을 장고개발자로서 반드시 쓸 수 밖에 없다면 , 앞의 내용(1~7장까지)에 조금 소홀해지더라도 10장까지 강의를 듣고 나서 2회정도 다시 강의를 들을 생각입니다. 하지만 그렇지 않다면 8장 정도까지만 강의를 듣고, 처음부터 8장정도까지 3-4회정도 반복을 하면서 좀 탄탄하게 다지고 싶은 마음이 큽니다.(선생님의 강의를 허덕이면서 따라가는 제자신을 보니, 기초적인 내용을 반복하고 싶다는 마음이 좀 가득합니다 ㅠㅠ) 서론이 너무 길었네요. 질문을 요약하면, 9-10장의 내용이 혹시 백엔드개발자로서 뗄수 없는 부분인가? 인듯 합니다.정답은 없는 부분일지도 모르지만, 선택을 위한 조언을 구합니다 ㅠㅠ 초조한 마음에 실례되는 질문을 드린게 아닐까 걱정이되네요. 늘 좋은 강의와 답변 감사합니다.
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
강의 수강 질문
Google Dialogflow와 파이썬/장고를 활용하여, 카카오톡 챗봇 만들기 (초급편) (완료) ask company 에 들어가보니 챗봇 강의가 있어 수강을 하고 싶은데 구독을 못하게 되어 있어서요 혹시 해당 강의를 수강할 수 있는 방법이 있을까요?
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
django url 매핑 관련 질문입니다.
안녕하세요. 장고 초보자 입니다. url 호출시 404 에러가 출력되어 질문하고 싶습니다. 쿠버네티스 환경에서 url ingress에 default path를 등록하였고 django에서 서브디렉토리를 urls.py에 등록하였는데 404에러가 뜨고 있습니다. 이런 경우 어떤 문제가 의심되는지 아시는 분 계시다면 댓글 부탁드립니다..ㅠ k8 ingress app/urls.py cu_auth/urls.py url 호출시
- 해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
django 관련 질문
안녕하세요! 이제 강의를 들을려고 합니다. 먼저 저의 상황은 이와 같습니다. Django를 통해 전체적인 웹개발에 대한 흐름을 공부해볼려고 시작합니다. 그 후, backend web 개발자나 Devops나 Data 분야로 가는 것을 결정해볼라고 합니다. Django에 대해 그냥 유튜브 검색을 해보니 [Django를 추천하지 않는 이유](https://www.youtube.com/watch?v=ObelJbEt8-Y) 를 보게 되었습니다. 이 영상에서 봤을 때, 웹 개발을 공부하고 싶으면 Django를 하지 말고 Spring을 해야 한다는 의견이었습니다. Django는 너무 dB에 집중되어 있다고 했습니다. 3년 전 영상이라 지금은 어떨지 모르겠습니다. java spring 시장이 한국에서 매우 거대하여 python Django가 상대적으로 적어도, 절대적으로는 적은 수는 아니라고 생각합니다. (그리고 python은 너무너무 가용성이 좋은 언어라 개인적으로 좋아하는 언어입니다 : ) ) 이에 대해 어떻게 생각하시는 지 궁금합니다.
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
class Meta에 대해 질문입니다.
10:54의 내용을 10:57에 심플하게 바꿀 수 있다고 해주셨는데요 클래스 내부에 클래스가 들어잇는 문법을 처음봐서 찾아보려는데 키워드를 잘모르겠네요 혹시 '메타클래스'라는게 맞을까요? 이렇게 저렇게 찾아봐도 메타클래스에 관한 부분인 것 같긴한데, 또 찾는 자료들에서는 설명해주신 방식으로 메타클래스를 사용하는 걸 못봐가지구요
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
Throttle 설정이 적용되지 않아요
안녕하세요! 강의 잘 듣고 있습니다. DRF 최대 호출 횟수 제한 강의를 보고 적용해보기 위해서 다음과 같이 settings.py를 수정하였는데 리퀘스트 제한이 걸리지 않습니다. 서버를 리스타트해봐도 해결이 안되는데 뭐가 문제일까요? settings.py 소스코드 일부 REST_FRAMEWORK = { 'PAGE_SIZE': 20, 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination', 'DEFAULT_PERMISSION_CLASSES': [ 'rest_framework.permissions.IsAuthenticated', ], 'DEFAULT_THROTTLE_CLASSES': [ 'rest_framework.throttling.UserRateThrottle', # 'rest_framework.throttling.AnonRateThrottle', ], 'DEFAULT_THROTTLE_RATES': { 'user': '3/day', # 'anon': '3/day', },} httpie Response 메시지
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
admin 오류
선생님,안녕하세요 다음과 같은 오류가 발생했는데 어떻게 해결해야할까요? Environment: Request Method: GET Request URL: http://127.0.0.1:8000/admin/ Django Version: 3.0.14 Python Version: 3.9.7 Installed Applications: ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'blog1'] Installed Middleware: ['django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware'] Traceback (most recent call last): File "C:\ProgramData\Anaconda3\lib\site-packages\django\contrib\sessions\backends\base.py", line 199, in _get_session return self._session_cache During handling of the above exception ('SessionStore' object has no attribute '_session_cache'), another exception occurred: File "C:\ProgramData\Anaconda3\lib\site-packages\django\core\handlers\exception.py", line 34, in inner response = get_response(request) File "C:\ProgramData\Anaconda3\lib\site-packages\django\core\handlers\base.py", line 115, in _get_response response = self.process_exception_by_middleware(e, request) File "C:\ProgramData\Anaconda3\lib\site-packages\django\core\handlers\base.py", line 113, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "C:\ProgramData\Anaconda3\lib\site-packages\django\contrib\admin\sites.py", line 249, in wrapper return self.admin_view(view, cacheable)(*args, **kwargs) File "C:\ProgramData\Anaconda3\lib\site-packages\django\utils\decorators.py", line 130, in _wrapped_view response = view_func(request, *args, **kwargs) File "C:\ProgramData\Anaconda3\lib\site-packages\django\views\decorators\cache.py", line 44, in _wrapped_view_func response = view_func(request, *args, **kwargs) File "C:\ProgramData\Anaconda3\lib\site-packages\django\contrib\admin\sites.py", line 220, in inner if not self.has_permission(request): File "C:\ProgramData\Anaconda3\lib\site-packages\django\contrib\admin\sites.py", line 194, in has_permission return request.user.is_active and request.user.is_staff File "C:\ProgramData\Anaconda3\lib\site-packages\django\utils\functional.py", line 224, in inner self._setup() File "C:\ProgramData\Anaconda3\lib\site-packages\django\utils\functional.py", line 360, in _setup self._wrapped = self._setupfunc() File "C:\ProgramData\Anaconda3\lib\site-packages\django\contrib\auth\middleware.py", line 24, in <lambda> request.user = SimpleLazyObject(lambda: get_user(request)) File "C:\ProgramData\Anaconda3\lib\site-packages\django\contrib\auth\middleware.py", line 12, in get_user request._cached_user = auth.get_user(request) File "C:\ProgramData\Anaconda3\lib\site-packages\django\contrib\auth\__init__.py", line 173, in get_user user_id = _get_user_session_key(request) File "C:\ProgramData\Anaconda3\lib\site-packages\django\contrib\auth\__init__.py", line 58, in _get_user_session_key return get_user_model()._meta.pk.to_python(request.session[SESSION_KEY]) File "C:\ProgramData\Anaconda3\lib\site-packages\django\contrib\sessions\backends\base.py", line 64, in __getitem__ return self._session[key] File "C:\ProgramData\Anaconda3\lib\site-packages\django\contrib\sessions\backends\base.py", line 204, in _get_session self._session_cache = self.load() File "C:\ProgramData\Anaconda3\lib\site-packages\django\contrib\sessions\backends\db.py", line 44, in load return self.decode(s.session_data) if s else {} File "C:\ProgramData\Anaconda3\lib\site-packages\django\contrib\sessions\backends\base.py", line 110, in decode encoded_data = base64.b64decode(session_data.encode('ascii')) File "C:\ProgramData\Anaconda3\lib\base64.py", line 87, in b64decode return binascii.a2b_base64(s) Exception Type: Error at /admin/ Exception Value: Incorrect padding
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
submit_label 값 변경
선생님, 안녕하세요 :) 로그인 폼과 회원가입 폼의 버튼의 label 변경이 되지 않습니다. 분명 제가 오타를 낸 것 같은데, 아무리 선생님의 예제랑 비교해도 다른 부분을 찾을 수가 없어서 사소한 내용이지만 질문 드립니다. 귀찮게 해드리는 것 같아 죄송해요ㅠㅠㅠㅠㅠㅠ 1. _form.html {% load bootstrap4 %}<form action="" method="post" enctype="multipart/form-data"> {% csrf_token %} {% bootstrap_form form %} {% buttons %} <button type="submit" class="btn btn-primary"> {{ submit_label|default:"Submit" }} </button> {% endbuttons %}</form> 2. login_form.html {% extends "accounts/layout.html" %}{% block content %} <div class="container"> <div class="row"> <div class="col-sm-6 offset-sm-3"> {% include "_form.html" with submit_lable="로그인" %} </div> </div> </div>{% endblock content %} 3. 로그인 페이지 화면