join.html에서 회원 가입하면 not found로 넘어갑니다.
회원가입페이지 만들기 부분에서 not found 오류가 납니다.


{% with messages = get_flashed_messages() %}
{% if messages %}
<script>
alert('{{messages[-1]}}');
</script>
{% endif %}
{% endwith %}
<div class="join_container">
<form action="form" method="POST" action="/join">
<div class="form_group">
<label for="name">이름</label>
<input type="text" name="name" id="name">
</div>
<div class="form_group">
<label for="email">이메일</label>
<input type="text" name="email" id="email">
</div>
<div class="form_group">
<label for="pass">비밀번호</label>
<input type="password" name="pass" id="pass">
</div>
<div class="form_group">
<label for="pass2">비밀번호 확인</label>
<input type="password" name="pass2" id="pass2">
</div>
<div class="form_group">
<input type="submit" value="가입하기">
</div>
</form>
</div>
@app.route('/join', methods=['GET', 'POST'])
def member_join():
if request.method == 'POST':
name = request.form.get('name', type=str)
email = request.form.get('email', type=str)
pass1 = request.form.get('pass', type=str)
pass2 = request.form.get('pass2', type=str)
if name == '' or email == '' or pass1 == '' or pass2 == '':
flash('입력되지 않은 값이 있습니다.')
return render_template('join.html')
if pass1 != pass2:
flash('비밀번호가 일치하지 않습니다.')
return render_template('join.html')
members = mongo.db.members
cnt = members.find({'email': email}).count()
if cnt > 0:
flash('중복된 이메일 주소입니다.')
return render_template('join.html')
current_utc_time = round(datetime.utcnow().timestamp() * 1000)
post = {
'name': name,
'email': email,
'pass': pass1,
'joindate': current_utc_time,
'logintime': '',
'logincount': 0,
}
members.insert_one(post)
return ''
else:
return render_template('join.html')
답변 2
1
폼의 내용을 기입하고 submit 을 했는데 의도하지 않은 페이지로 연결이 되었다 했을때 어디서 문제가 생겼는지 이해하셔야 해결 할 수 있는 문제입니다.
해당 예제에서는 특별한 기능은 없고 "가입하기" 버튼을 누르면 해당 폼의 데이터를 submit 하는 단순한 내용인데 이때 해당 데이터를 어디로 submit 하는지에 문제가 발생한 것입니다. 오류 주소를 보면 /form 이라는 주소로 전송이 되며 해당 주소를 찾을 수 없다는 오류가 발생한것인데 그러면 여기서 "어디로"에 해당하는 부분이 폼에 기재된 action 값인데 올려주시는 코드를 보면
<form action="form" method="POST" action="/join">
이렇게 action 이 중복선언 되어있습니다. 이부분에서 문제가 생겼다는것을 알 수 있습니다.
iis 접속후 자동으로 로그인 창이 나오도록 설정이 기능한가요?
0
64
2
리스트 이동 시 창 에러 발생
0
74
1
배포후 회원 등록 후 로그인 에러...
0
73
2
내부 서버 오류
0
67
2
app.config["MONGO_URI"] = "mongodb://localhost:27017/pm_db"
0
53
2
DB 검색하면 데이터가 없습니다. 라고 나와요. 5시간을 찾아봐도 모르겠어서 문의드려봅니다.
0
45
1
몽고db studio3T를 깔았는데
0
57
2
flake8과 linter
0
72
3
500이 뜹니다.
0
57
2
첨부파일 삭제
0
66
2
검색기능 질문
0
61
2
google.py
0
66
2
Studio 3T에 DB insert가 되지 않는 문제를 해결하지 못하고 있습니다 ㅠ
0
81
3
혹시 전체 코드 공개되어 있나요?
0
96
1
join.html 의 form 태그값 을 member_join() 에서 처리못함.
0
103
1
google.py 몽고db 샘플데이터 만들기
0
100
2
flake8 설치 이후 명령팔레트에서 linter가 안보입니다.
0
236
2
파이썬으로 만들어서 웹호스팅에 올릴경우
0
304
1
현재 구글검색 무한스크롤변경 문의합니다
0
296
1
몽고디비아틀라스로 추가 공부해서 올립니다.
0
217
1
IIS 500.19에러
0
658
2
버전 문제도 수정했는데 결과가 안나옵니다.
0
257
1
데이터베이스 저장관련 질문입니다.
0
269
1
test가 생기지 않습니다.
0
508
3





