소개
게시글
질문&답변
2023.01.30
사진 업로드한 파일 사각화
테이블에 열 하나를 더 추가해주시고(thead > tr 태그에 th태그 하나 추가, tbody > tr태그에 td태그 하나 추가) 해당 태그 내에 태그를 추가해주시고, 해당 파일과 일치하는 이미지 링크를 넣어주시면 되겠습니다.예시)(사진)
- 0
- 1
- 183
질문&답변
2023.01.30
구구단 문제풀이 질문
html 파일에 오탈자 수정이 필요합니다. Document {% if gugudan == None%} Have to Type number {% else %} 숫자가 입력되었습니다 {% endif %} form 태그의 action을 보면 "/" 라고 입력되어있고, app.py에서 "/"는 메서드 방식이 지정되어 있지 않습니다. 임시로 post와 get 모두 받을 수 있게 지정해주겠습니다.@app.route("/", methods=['POST', 'GET']) @app.route("/", methods=['POST', 'GET']) def gugudan(num=None): if request.method == 'GET': return render_template('index.html', gugudan=None) else: temp = request.form['input'] return render_template('index.html', gugudan=temp) 이렇게 코드를 수정하시고 실행시켜보시면 더 이상 method not allowed 에러가 나타나지 않을 겁니다.그러나 Bad Request 에러가 나타나는데 이는 숫자를 넣을 input에 name이 할당되지 않은 채로 request.form을 사용해서 그렇습니다. name을 할당시켜줍니다.그리고 기존에 name으로 줬던 value 값을 서버에서 받아오는 gugudan 값으로 바꾸고 아래에서 결과를 보기 쉽게 p태그 안에 나타나도록 코드를 추가합니다. (추가한 p 태그 부분은 이해하기 편하도록 넣은 코드이며, 제외해도 괜찮습니다.) Document gugudan = {{ gugudan }} {% if gugudan == None %} Have to Type numberc {% else %} 숫자가 입력되었습니다 {% endif %} 이제 실행해보면 다음과 같이 나타납니다.첫화면(사진)숫자 제출(사진) 참고로 작성하신 코드에서는 버튼 클릭을 통해 "/" 부분이 호출될 일은 절대 없습니다. (action이 /, 방식이 post이기 때문)대신 인터넷 주소창에 /아무숫자입력 하고 이동을하면 숫자를 입력했다고 결과는 나올테지만, 실제로는 None 값이 찍히게 될텐데, 이는 get 방식이며, if문을 통해 get 방식일 경우 gugudan은 None으로 값을 주셨기 때문입니다.====================================================추가 내용으로, 위 코드는 숫자가 아닌 문자나 빈 값을 입력해도 숫자를 입력했다고 나타납니다.(사진)(사진)온전히 숫자만 받기를 원한다면, input type을 number로 바꿔 문자 입력 자체를 차단하거나,javascript를 이용해 숫자 이외의 문자나 빈 값이 들어오면 서버로 보내지 않고 경고 메세지를 띄우거나,아니면 아예 서버 단에서 숫자인지 확인하고 아니라면 잘못된 숫자를 입력했다는 페이지로 안내하면 원래 의도대로 적용할 수 있겠습니다.
- 0
- 1
- 248
질문&답변
2023.01.30
동적 라우팅 관련하여 질문드립니다.
마지막 답변 등록일이 오래된 듯 하여 그냥 직접 빠르게 조사해봤습니다.(사진)동적 라우팅의 경우 와 같이 사용할수도, 와 같이 사용할 수도 있습니다. 앞에 붙은 변환타입에 따라 들어오는 문자 값을 해당 타입에 맞는 인자로 받을 수 있다고 합니다.path:의 경우는 문자열 그대로 받지만, 뒤에 /가 하나 더 붙게되는 차이가 있습니다. 귀찮아서 대충 작성했는데, 설명이 부족하다고 느껴지시면 구글에 flask 동적 라우팅 이라는 검색어로 찾아보시면 잘 정리된 자료들이 나옵니다.
- 0
- 1
- 288