#python #anaconda #jupyter-notebook #visual-code #html #css #javascript #http 제목에러메시지가 떠야 하는데 redirect문으로 연결2021-03-10 15:44작성자스넵스안녕하세요. 파이썬 초보입니다.Django를 통해 웹서버 만드는 공부를 하는 중입니다. 버전이 달라서 그런지 웹 강사님이 작성해주는 코드랑 완전 동일하게 하고 있는데 오류 페이지가 떠서 질문 드립니다. 달리 질문할 곳을 찾지 못해서 질문 드리니 외면하지 마시고 답변을 부탁 드려요..ㅜㅜ1. 사용 중인 파이썬 : 3.9.12. Django 버전: 3.1.73. bootstrap: 현 날짜(21/3/10) 기준 최신 버전이니 5.0.0 인 것 같습니다4. 가상 환경 사용 중5. 프로젝트/앱 구성django (프로젝트명)> __pycache__- asgi.py- settings.py- urls.py- wsgi.pyuser (앱)> __pycache__> migrations> templates>> base.html>> index.html>> register.html- __init__.py- admin.py- apps.py- forms.py- models.py- tests.py- views.py6. 설정값* django > user > forms.pyfrom django import formsclass RegisterForm(forms.Form): email = forms.EmailField( error_messages={ 'required': '이메일을 입력해주세요.' }, max_length=64, label='이메일' ) password = forms.CharField( error_messages={ 'required': '비밀번호를 입력해주세요.' }, widget=forms.PasswordInput, label='비밀번호' ) re_password = forms.CharField( error_messages={ 'required': '비밀번호를 다시 입력해주세요.' }, widget=forms.PasswordInput, label='비밀번호 확인' )def clean(self): cleaned_data = super().clean() password = cleaned_data.get('password') re_password = cleaned_data.get('re_password') if password and re_password: if password != re_password: self.add_error('password', '비밀번호가 서로 다릅니다.') self.add_error('re_password', '비밀번호가 서로 다릅니다.')* django > user > templates > register.html{% extends "base.html" %}{% block contents %}<div class="row mt-5"> <div class="col-12 text-center"> <h1>회원가입</h1> </div></div><div class="row mt-5"> <div class="col-12"> {{ error }} </div></div><div class="row mt-5"> <div class="col-12"> <form method="POST" action="."> {% csrf_token %} {% for field in form %} <div class="form-label"> <label for="{{ field.id_for_label }}">{{ field.label }}</label> <input type="{{ field.field.widget.input_type }}" class="form-control" id="{{ field.id_for_label }}" placeholder="{{ field.label }}" name="{{ field.name }}" /> </div> {% if field.errors %} <span style="color: red">{{ field.errors }}</span> {% endif %} {% endfor %} <button type="submit" class="btn btn-primary">회원가입</button> </form> </div></div>{% endblock %}* django > user > templates > base.html<html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"/> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BmbxuPwQa2lc/FVzBcNJ7UAyJxM6wuqIj61tLrc4wSX0szH/Ev+nYRRuWlolflfl" crossorigin="anonymous"> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/js/bootstrap.min.js" integrity="sha384-nsg8ua9HAw1y0W1btsyWgBklPnCUAFLuTMS2G72MMONqmOymq585AcH49TLBQObG" crossorigin="anonymous"></script> </head> <body> <div class="container"> {% block contents %} {% endblock %} </div> </body></html>* django > user > views.pyfrom django.shortcuts import renderfrom django.views.generic.edit import FormViewfrom .forms import RegisterForm# Create your views here.def index(request): return render(request, 'index.html')class RegisterView(FormView): template_name = 'register.html' form_class = RegisterForm* django > urls.pyfrom django.contrib import adminfrom django.urls import pathfrom fcuser.views import index, RegisterViewurlpatterns = [ path('admin/', admin.site.urls), path('', index), path('register/', RegisterView.as_view()),]7. 오류 메시지register 페이지에서 password와 re_password를 다르게 입력하고 '비밀번호가 서로 다릅니다' 메시지를 보려고 하는데 아래와 같은 창이 뜹니다. ImproperlyConfigured at /register/No URL to redirect to. Provide a success_url.Request Method:POSTRequest URL:http://127.0.0.1:8000/register/Django Version:3.1.7Exception Type:ImproperlyConfiguredException Value:No URL to redirect to. Provide a success_url.Exception Location:C:\Users\USER\Documents\!Programming\Django_실전\django_env\lib\site-packages\django\views\generic\edit.py, line 52, in get_success_urlPython Executable:C:\Users\USER\Documents\!Programming\Django_실전\django_env\Scripts\python.exePython Version:3.9.1Python Path:['C:\\Users\\USER\\Documents\\!Programming\\Django_실전\\django', 'C:\\Users\\USER\\AppData\\Local\\Programs\\Python\\Python39\\python39.zip', 'C:\\Users\\USER\\AppData\\Local\\Programs\\Python\\Python39\\DLLs', 'C:\\Users\\USER\\AppData\\Local\\Programs\\Python\\Python39\\lib', 'C:\\Users\\USER\\AppData\\Local\\Programs\\Python\\Python39', 'C:\\Users\\USER\\Documents\\!Programming\\Django_실전\\django_env', 'C:\\Users\\USER\\Documents\\!Programming\\Django_실전\\django_env\\lib\\site-packages']Server time:Wed, 10 Mar 2021 05:49:43 +0000왜 설정해준적도 없는 redirect문으로 연결되서 에러 창이 뜨게 되는지 잘 모르겠네요...토큰링이 제대로 안된 게 아닐까 조심스레 추측 해봅니다..! 원인 좀 봐주세요 ㅜ 간단한 부분인 것 같은데 안되니까 머리 아프네요 목록수정삭제답변글쓰기 댓글 [0] 댓글작성자(*)비밀번호(*)내용(*) 댓글 등록 더보기이전실습자료3 관련 문의khj2021-03-12다음실습자료 업로드안녕하세요2021-03-10 Powered by MangBoard | 워드프레스 쇼핑몰 망보드