수강이 제한됩니다.
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
윈도우즈에서 도커 사용하기 위한 Hyper-v 설정 이렇게 하는거 맞나여?
Hyper -V 설정 아래처럼 하기그리고 추가로 Hyper-V 관련 프로그램을 설치 해야 되나여?
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
Django Unit Test에서 Async Task 시 Default DB 사용 이슈
unittest 기반의 Unit Test시 Celery 혹은 ProcessPoolExecutor을 이용하면 해당 Context에서 DB 접근 시, Test DB를 참조 하는 것이 아니라 settings의 Default로 설정해놓은 Exist DB에 접근하는 이슈가 있더군요. 해당하는 경우 어떻게 해야 Test DB로 붙어서 작업할 수 있을까요?with concurrent.futures.ProcessPoolExecutor() as executor:
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
포트가 8000 으로 설정된건지 9000번인지 모르겠습니다
강의를 따라가는중 docker run --rm -p 9000:8000 test_dj에서 도커를 실행시켰는데 접속페이지가 강의상에선http://localhost:9000/에서 접속이 가능한데 반해 저는http://localhost:8000/에서만 접속이 가능합니다어떤설정을 제가 잘못했길래 이렇게 될까요?
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
파워쉘에서 엔진이 꺼지지 않습니다
컨트롤 씨 눌러도 안꺼져서 계속 깜빡이는 상태로 있네요
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
react 렌더링이 늦는 것
두번째 사진(Post)에서 async를 이용하여 api통신을 하는데, 여기서 받은 데이터를 PostLayout으로 전달해줍니다. 하지만 PostLayout에서 console.log(post)를 하면, {}로 빈 오브젝트가 먼저 발생하여 에러가 나타납니다강사님과 같이 &&를 이용하는 방법은 이미지 처리에서는 되었는데, 나머지 author 안 에있는 email, username, nickname 처리에는 알맞게 되지 않고있습니다.아래와 같은 경우에는 에러가 나타납니다.
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
강의 18:30 부분에 커스텀으로 필수필드 설정하는 부분 질문입니다.
안녕하세요. 지금 DRF까지 강의를 다 수강한 상태인데요. 기본 로직이랑 이런건 강사님 덕분에 많이 이해했습니다. 하지만 아직 오버라이딩 개념에 대해서 많이 부족합니다. 강의를 보면 추가할 로직들을 기존 메소드를 상속받아서 필요한 코드를 커스터마이징하시는데, 어떤 메소드를 상속해야하는지 그 기준에 대해서 잘 모르겠습니다. 해당 강의에서 필수필드를 지정할 때, init함수를 호출해서 특정 필드의 required 속성을 True로 지정하셨는데, init에서만 가능한건가요? 아니라면 다른 함수를 오버라이딩해서 가능한지 궁금합니다.
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
is_like , is_LIke , isLike 오타가 나서 몇시간 헤매었습니다
아무리봐도 강의랑 똑같이 쳤다고 생각했는데 하트가 안바뀌어서 질문올릴까 말까 고민하다가 오타발견해서 해결하였네요 ㅠㅠ setPostList(prevList => { return prevList.map(currentPost => currentPost === post ? { ...currentPost, is_Like: isLike } : currentPost ); }); is_like is_Like isLike 너무 똑같은 변수명이고 post , postlist 에서 같이 쓰다보니깐 헷갈리는데 혹시 같은문제로 안되시는분 있을까해서 올립니다
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
파이참 gutter 색상이 너무 궁금합니다.
파이참 사용시 좌측처럼 코드가 있는부분은 색상이 다르던데 이건 어떻게 해야할까요?강의 듣다가 이게 궁금해서 계속 옆길로 빠지게 됩니다 ;;;
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
django 코드를 보려고 하는데 질문드립니다.
저는 클래스의 self가 클래스의 인스턴스를 만들었을때 그 인스턴스 자신을 self라고 하는것으로 알고있었습니다. 그런데 장고코드에는 클래스기반뷰에서 클래스의 인스턴스를 만들지 않음에(예를들어 a=RedirectVIew()어쩌구 하는게 아니라 a=RedirectView.as_view()를 통해서 함수를 넘기잖아요)도 불구하고 self가 다양하게 들어가는데 이건 어떤 의미인가요?^^;;
- 해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
BadHeaderError at /accounts/signup/
심지어는이런 에러까지 뜨더라구요.이것과 관련하여서는 장고 공식문서에 나온대로 예외처리를class User(AbstractUser): website_url = models.URLField(blank = True) bio = models.TextField(blank = True) 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 }) # 여기서 settings는 django.conf라는 곳에서 임포트 해오는 것이고 # 기초 settings.py의 이름이 변하더라도 거기서 가져오는 것 같다. # 문제 생길 시, 추측이 아닐 수 있으니 settings를 common으로 변경해주자. sender_email = settings.WELCOME_EMAIL_SENDER if subject and content and sender_email: try: # 여기서 self.email의 의미는 User마다 email로 가입이 될텐데, 그 주소가 수신주소가 되는것이다. send_mail(subject, content, sender_email, [self.email], fail_silently=False) except BadHeaderError: return HttpResponse('Invalid Header found.') return HttpResponseRedirect('/') else: # In reality we'd use a form class # to get proper validation errors. return HttpResponse('Make sure all fields are entered and valid.') # save할때마다 호출 -> which mean is User가 생성될때마다 # 이런식의 로직 구현이 가능하다. def save(self, *args, **kwargs): is_created = (self.pk == None) super().save(*args, **kwargs) if is_created: pass이렇게 중간에 try, except로 처리해주었는데, 이렇게 해도 진행에 지장은 없을까요?애초에 이 에러가 왜 발생했는지도 이해가 잘갑니다.에러메세지를 읽어봐도 두루뭉술하게 Header values can't newlines 라고 되어있으니, 뭐가 문제인지도 파악이 어렵구요 ㅠㅠ
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
NoReverseMatch at /accounts/signup/
안녕하세요 선생님 ㅠㅠ연달아서 에러가 빵빵 터지네요NoReverseMatch at /accounts/signup/Reverse for 'pydenticon_image' with keyword arguments '{'data': ''}' not found. 1 pattern(s) tried: ['identicon/image/(?P<data>.+)/\\Z']인데요.문제가 되는 부분은<img src="{% url 'pydenticon_image' data=user.username %}" style="width: 24px; height: 24px;">이 부분으로 나옵니다.Error during template rendering In template /Users/daniel_choi/Desktop/total_projects/instagram_second/templates/layout.html, error at line 77 Reverse for 'pydenticon_image' with keyword arguments '{'data': ''}' not found. 1 pattern(s) tried: ['identicon/image/(?P<data>.+)/\\Z']이게 에러 추가 메세지 이구요.하지만 이것과 관련하여는 잘 작동하다가 그냥 아무것도 만진것없이 echo 쪽만 들락거리고 signup 시도했던 것 밖에 없는데, 되다가 갑자기 에러가 나니깐 당황스럽네요;(물론 admin을 제외한 계정을 계속해서 삭제하고 시도하긴 했습니다.)from django_pydenticon.views import image as pydenticon_image urlpatterns = [ path('identicon/image/<path:data>/', pydenticon_image, name = 'pydenticon_image') ]이렇게 되어있구요.accounts/forms.py에서도 User모델 상속 받고, class Meta로fields 중에서 username을 분명히 오버라이드 시킨것도 확인이 되는데, 왜 이런 에러가 발생하는지 모르겠습니다! ㅠㅠ 이거는 추가적으로 몇번 테스트를해보니깐1.계정을 생성한다2.SMTP에러가 뜬다.3.admin페이지에 들어가서 방금 생성된 계정을 삭제한다.4.다시 /accounts/signup페이지에 접속시도한다.5.<img src="{% url 'pydenticon_image' data=user.username %}" style="width: 24px; height: 24px;">관련된 reversematch에러가 뜬다.6.admin페이지에서 admin계정으로 로그인을 하고 accounts/signup 페이지로 와야 비로소 이 reversematch 에러가 뜨지 않습니다. #번외번외 적으로는 분명 계정을 생성했고, admin 페이지에서도 2개의 추가계정이 확인되는데, Django administration(어드민페이지 로그인창)을 통해서 로그인하려고 하면 비밀번호를 맞게 입력해도 로그인이 안됩니다;
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
안녕하세요 파이썬문법 클래스, 제너레이터에 대해 질문드립니다!
RESETS = [ False, False, False, True, False, True, False, False, False, False, False, False, False, False] def check_for_reset(): # 외부 이벤트를 폴링한다 return RESETS.pop(0) def announce(remaining): print(f'{remaining} 틱 남음') class Timer: def __init__(self, period): self.current = period self.period = period def reset(self): self.current = self.period def __iter__(self): while self.current: self.current -= 1 yield self.current # def run(): timer = Timer(4) for current in timer: if check_for_reset(): timer.reset() announce(current) run() 결과 : 안녕하세요!! 파이썬 class 및 제너레이터에 대해 질문드립니다!! 위 코드를 보면 timer라는 인스턴스가 루프를 돌면서 announce를 호출 하는 코드인데이해가 안되는 점이 왜 RESETS 리스트의 데이터가 pop이 되는 걸까요???for문이 돌고는 있지만 실질적으로 check_for_reset 함수는 호출되고 있지 않자나요?? 근데 결과를 보면 for문 돌면서 계속 RESETS 리스트의 데이터가 pop되고 있는 게 신기하네요 class iter메소드가 아닌 그냥 for문 돌리면 그냥 일반적인 예상대로 RESTS리스트의 데이터는 그대로 존재하는데 말이죵;;Timer라는 클래스랑 RESETS 리스트랑 코드상 직접적인 관계가 없는데 같이 맞물려 동작하는게 이해가 안되네요 ;;; 어떠한 원리에 의해서 위와 같이 동작하는걸까요!!??
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
SMTPServerDisconnected at /accounts/signup/
선생님회원가입 환영 이메일 보내기 마지막 쯔음 파트에 관하여 질문 드리고자 합니다.우선 세팅을 마치고터미널로 시도할때는 메세지 1이 뜨면서메일이 전송된 것을 확인했습니다. 이후로 터미널에서 시도했던 것을 accounts/models.py등으로 이전하고 시도하고나니 에러가 발생했는데요.이게 에러 메세지 이구요.에러메세지에 표시된 구간을 따라가보았는데# views.py from django.conf import settings # from ..askcompany.settings import common from django.contrib.auth.models import AbstractUser from django.core.mail import send_mail from django.db import models from django.template.loader import render_to_string # Create your models here. class User(AbstractUser): website_url = models.URLField(blank = True) bio = models.TextField(blank = True) 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 }) # 여기서 settings는 django.conf라는 곳에서 임포트 해오는 것이고 # 기초 settings.py의 이름이 변하더라도 거기서 가져오는 것 같다. # 문제 생길 시, 추측이 아닐 수 있으니 settings를 common으로 변경해주자. sender_email = settings.WELCOME_EMAIL_SENDER # 여기서 self.email의 의미는 User마다 email로 가입이 될텐데, 그 주소가 수신주소가 되는것이다. send_mail(subject, content, sender_email, [self.email], fail_silently=False) # save할때마다 호출 -> which mean is User가 생성될때마다 # 이런식의 로직 구현이 가능하다. def save(self, *args, **kwargs): is_created = (self.pk == None) super().save(*args, **kwargs) if is_created: pass이렇게 있구요. 여기서 에러를 만드는 것으로 의심되는 요소는 sender_email이였습니다. 그도 그럴것이 common.py에는 WELCOME_EMAIL_SENDER를 정의해주었지만 그것이 from django.conf import settings의 것을 오버라이딩 하는 것에 대해서는 확신이 들지 않아서요.# common.py WELCOME_EMAIL_SENDER = 'daniell8282@naver.com'이렇게 설정해 주었구요.echo $SENDGRID_API_KEY도 딱히 {키값}으로 노출되는게 아니라 키값으로 잘 확인 됩니다.무엇이 문제여서 이게 에러가 계속 나는 걸까요? 추가사항으로는저와 동일한 문제로 8시간동안 풀려고 시도했던 분이 계셨더라구요.그분하고 저와 같은케이스 같은데요.저두 맥이고 zsh를 쓰고 있습니다.혹시몰라서 bash로 전환해서 export로 키값 재설정해주고echo로 확인해주고 회원가입해보니깐회원가입이 되긴 하는데메일이 발송이 안되구요zsh한정이긴 하지만 키값을 처음에 export로 잡아주고 echo로 확인할때는 {}이렇게 딕셔너리로 감싸지는 것 없이 키값이 노출이 되는데, SMTP error? 이거 발생후에 echo로 확인해보면 {}이렇게 딕셔너리 처리 됩니다; 이건 왜그런걸까요?
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
프로필 수정 구현과 장고3에서 추가된 TextChoices 활용 질문 입니다!
안녕하세요 선생님프로필 수정과 구현의 초기 대목인 2분 50초 쯤 에서 왼쪽 상단의 "profile"을 클릭하면 이동이 되게끔 layout.html에서 만져주시잖아요? 그 이후로 templete 관련 error는 저도 떴었고, 이거는 당연하게도 해당 템플릿 경로에 필요한 html을 만들어 주는 것으로 해결되었습니다.하지만 그 다음에 이어서 나오는 bootstrap 에러가 강사님은 나오고, 저는 나오질 않아서 뭔가 쌔했는데 ㅠㅠ결국 저는이렇게 나오네요 ㅠㅠ코드가 틀릴까 싶어서 선생님의https://github.com/askcompany-kr/django-with-react-rev2코드와도 대조를 해봤는데, 별 다른 점을 찾을 수가 없었습니다 ㅠㅠ어떻게 해결하면 좋을까요?
- 해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
ModuleNotFoundError: No module named 'accounts.urls'
안녕하세요 강사님커스텀 유저 지정 및 회원가입 구현의4분 40초 쯤에 AUTH_USER_MODL 추가 부분이 나오는데요.이 부분 관련하여 데이터베이스 기존에 있는 것을 삭제하고AUTH_USER_MODEL = 'accounts.User'라고 설정한 뒤에 python manage.py makemigrations accounts라고 하면File "/Users/daniel_choi/opt/anaconda3/envs/instagram_second/lib/python3.8/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1014, in _gcd_import File "<frozen importlib._bootstrap>", line 991, in _find_and_load File "<frozen importlib._bootstrap>", line 973, in _find_and_load_unlocked ModuleNotFoundError: No module named 'accounts.urls'이렇게 나오더라구요.위의 방법에 있어서 읽어올 수 없길래AUTH_USER_MODEL = 'accounts.models.User'라고 해주었더니 이번에는ValueError: Invalid model reference 'accounts.models.User'. String model references must be of the form 'app_label.ModelName'.라고 나옵니다어떻게 해결하면 될까요? ㅠㅠ
- 해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
?: (staticfiles.W004) The directory '/static/' in the STATICFILES_DIRS setting does not exist.
강사님 안녕하세요!오늘도 뭔가 따라하다가?: (staticfiles.W004) The directory '/static/' in the STATICFILES_DIRS setting does not exist.라는 에러가 나더라구요. python manage.py runserver 자체는 되는데요.어떻게 해결하는게 좋을까요?참고로 강사님을 따라했다가 안되서 "버전이 제가 4버전을 써서 그런가.. 싶어서 3버전으로도 시도를 해봤는데 안되는 부분이 있어서 구글링 후 기존의 경로인 'static' 이런거를 '/static/'이런식으로 바꿔주긴 했습니다! (그런데 또 이게 문제가 될까? 싶기도해서요 ㅠㅠ시도한 이후에 다시 장고4버전으로 변경했습니다.!부분적으로 필요한 정보를 공유드립니다!#1 common.py 파일BASE_DIR = Path(__file__).resolve().parent.parent ... TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [ os.path.join(BASE_DIR, 'templates') # BASE_DIR / 'templates' ], ... DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': BASE_DIR / 'db.sqlite3', } } ... STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR, '/static/') ] STATIC_ROOT = os.path.join(BASE_DIR, 'static') MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'media') # Default primary key field type # https://docs.djangoproject.com/en/4.1/ref/settings/#default-auto-field DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' INTERNAL_IPS = ['127.0.0.1'] 바로 위의 질문의 연장선상의 문제라고 보이는데요.admin 페이지 경로자체도 없어졌습니다! 어떻게 해결하는게 좋을까요? ㅠㅠ
- 해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
안녕하세요 장고 서드파티 라이브러리 질문드립니다!
안녕하세요.!! 제가 어떠한 그룹에 초대하는 api구현을 원하는데 이를 장고 서드파티 라이브러리를 사용하면서 모델을 조금 변경하고 싶은데 어떻게 하면 좋을까요? 제가 사용하고 싶은 라이브러리는 django-invitations라는 라이브러리 인데https://django-invitations.readthedocs.io/en/latest/index.htmlhttps://github.com/fmarco/django-rest-invitations (저는 restapi를사용할꺼라서 아래 django-rest-invitations을 사용하려고합니다!) 이 라이브러리는 invitation이라는 테이블만 존재하드라고요, 제가 원하는 구현은 이 invitations이랑 어떠한 group 모델을 만들어서 group (1) : invitations(다) foreignkey를 만들어서 사용하고 싶습니다. 보통 이럴때 어떠한 식으로 overidding을 할까요?
- 해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
AttributeError at /accounts/profile/edit/ 질문입니다!
안녕하세요 강사님!사용자 프로필 페이지 및 프로필 수정관련하여 강의듣고 있구요12분쯔음에 localhost:8000/accounts/profile/edit/부분 관련하여 페이지 접속하고, 수정하는 과정 진행중인데요.AttributeError at /accounts/profile/edit/ 'User' object has no attribute 'profile'이런 에러가 뜨네요 ㅠㅠTraceback에 보면 /Users/daniel_choi/Desktop/total_projects/new_instagram/accounts/views.py, line 39, in profile_edit # FBV @login_required def profile_edit(request): try: # 현재 이 코드는 Profile.objects.get(user=request.user)와 같은 의미다. profile = request.user.profile … except Profile.DoesNotExist: profile = None if request.method == 'POST': form = ProfileForm(request.POST, request.FILES, instance=profile) if form.is_valid():이렇게 나오구요.바로 위의 코드중에서 profile = request.user.profile 이부분이 문제가 되는것 같습니다.강의를 다시들으면서 체크해봐도 무엇이 잘못되었는지 잘 못찾겠어서 문의드립니다!! ㅠㅠㅠ 혹시 몰라서 추가로 제가 작성한 코드 중에서중요하겠다 싶은 부분도 함께 첨부하겠습니다!#forms.py from django import forms from .models import Profile class ProfileForm(forms.ModelForm): class Meta: model = Profile fields = ['address', 'zipcode']#models.py from django.conf import settings from django.db import models # Create your models here. class Profile(models.Model): user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) address = models.CharField(max_length=100) zipcode = models.CharField(max_length=6) # validators = []#views.py from django.contrib.auth.decorators import login_required from django.shortcuts import render, redirect from django.contrib.auth.mixins import LoginRequiredMixin from django.views.generic import TemplateView, UpdateView from .forms import ProfileForm from .models import Profile # Create your views here. # FBV 방식 # @login_required # def profile(request): # return render(request, 'accounts/profile.html') # CBV 방식 class ProfileView(LoginRequiredMixin, TemplateView): template_name = 'accounts/profile.html' profile = ProfileView.as_view() # CBV # class ProfileUpdateView(LoginRequiredMixin, UpdateView): # model = Profile # form_class = ProfileForm # profile_edit = ProfileUpdateView.as_view() # FBV @login_required def profile_edit(request): try: # 현재 이 코드는 Profile.objects.get(user=request.user)와 같은 의미다. profile = request.user.profile except Profile.DoesNotExist: profile = None if request.method == 'POST': form = ProfileForm(request.POST, request.FILES, instance=profile) if form.is_valid(): profile = form.save(commit=False) profile.user = request.user profile.save() return redirect('profile') else: form = ProfileForm(instance=profile) return render(request, 'accounts/profile_form.html', { 'form': form })
- 해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
강사님~! TemplateSyntaxError 질문 드립니다!
강사님!TemplateSyntaxError at /instagram/new/ Invalid block tag on line 34: 'endblock', expected 'elif', 'else' or 'endif'. Did you forget to register or load this tag?이런 에러가 떴습니다.메세지를 보아하니 유효하지 않은 태그가 34번에 있는데 그 이름이 endblock이고심플하게는 태그 잘썼냐? 이런걸로 해석이 되는데요.{% extends 'gram/layout.html' %} {% load bootstrap5 %} {% block content %} <!-- 파일도 전송할 경우에는 반드시 enctype="multipart/form-data"를 해줘야 한다. --> <form action="" method="post" enctype="multipart/form-data"> {% csrf_token %} {% bootstrap_form form %}% <!-- form을 써줄때는 반드시 table로 감싸줘야 생김새가 깨져보이지 않고 정돈되어 나온다. --> <!-- 두번째 방법으로는 form.as_table을 해주면 된다. --> {% comment %} <table> {{ form }} </table> {% endcomment %} {% buttons %} {% comment %} <input type="submit" value="저장"> {% endcomment %} <button class="btn btn-success"> 저장 </button> {% endbuttons %} <!-- 여기를 통해서 전달받게 되는 데이터는 request.POST의 형식으로 전달이 된다. 따라서 이것과 관련된 로직을 구현해야하며, 추가로 파일저장이 있을 경우에는 request.FILES도 추가적으로 정의해주어야 한다. --> </form> <hr> <!-- NoReverseMatch에러의 요소였어서, 각 인자에 post를 추가해 주었고 이건 주석처리 해준다. --> <!-- {% if form.instance %} --> {% if post %} <a href="{{ post.get_absolute_url }}" class="btn btn-success"> 내용으로 </a> {% endif %} <a href="{% url 'gram:post_list' %}" class="btn btn-success">목록</a> {% endblock content %}에러가 발생한 페이지를 보면 짝을 이루는 태그가block -> block, endblock 각 한개씩 있음buttons -> buttons, endbuttons 각 한개씩 있음if -> if, endif 각 한개씩 있음. 뭐가 문제인걸까요? ㅠㅜ
- 미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
react의 next.js와 django를 같이 사용가능한가요?
next.js를 이용할 경우 django는 굳이 사용할 필요가 없지 않나요?next.js와 django를 같이 사용할 경우 둘의 역할은 어떻게 돼나요?sveltekit과 django를 같이 사용할 경우 next.js와 django를 사용하는 경우와 똑같은 역할을 하나요?