DEBUG = False일 때 Django가 잘못된 요청(400)을 제공합니다.
저는 장고 1.6이 처음입니다.django 서버를 실행할 때DEBUG = True
완벽하게 작동하고 있습니다.하지만 내가 변했을 때DEBUG
로.False
설정 파일에서 서버가 중지되고 명령 프롬프트에 다음 오류가 표시됩니다.
CommandError: You must set settings.ALLOWED_HOSTS if DEBUG is False.
내가 바뀐 후ALLOWED_HOSTS
로.["http://127.0.0.1:8000",]
브라우저에 다음 오류가 나타납니다.
Bad Request (400)
디버깅 모드 없이 Django를 실행할 수 있습니까?
목록에는 URL이 아닌 완전 수식 호스트 이름이 포함되어야 합니다.포트와 프로토콜은 생략합니다.사용하시는 경우127.0.0.1
추가하겠습니다.localhost
목록에 추가:
ALLOWED_HOSTS = ['127.0.0.1', 'localhost']
또,*
임의의 호스트에 일치시키려면:
ALLOWED_HOSTS = ['*']
매뉴얼 견적:
이 목록의 값은 정규화된 이름일 수 있습니다(예:
'www.example.com'
이 경우 요청 헤더와 정확하게 대조됩니다(대소문자를 구분하지 않고 포트를 포함하지 않음).마침표로 시작하는 값은 하위 도메인 와일드카드로 사용할 수 있습니다.'.example.com'
일치하다example.com
,www.example.com
및 기타 서브도메인example.com
의 값'*'
이 경우, 고객 자신의 검증 결과를 제공할 책임이 있습니다.Host
header(미들웨어에 추가되어 있는 경우, 이 미들웨어를 에 최초로 기재할 필요가 있습니다).MIDDLEWARE_CLASSES
).
과감하게 강조해 주세요.
상태 400 응답이 표시되는 것은 호스트 헤더가 해당 목록의 값과 일치하지 않을 때 예외가 발생했기 때문입니다.
저도 같은 문제가 있었는데 어떤 대답도 제 문제를 해결하지 못했어요.이러한 상황을 해결하려면 다음 구성을 에 추가하여 로깅을 활성화하는 것이 가장 좋습니다.settings.py
일시적으로
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'file': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': '/tmp/debug.log',
},
},
'loggers': {
'django': {
'handlers': ['file'],
'level': 'DEBUG',
'propagate': True,
},
},
}
문제가 발견되면 블라인드 디버깅보다 쉽게 대처할 수 있습니다.
문제는 다음과 같습니다.
HTTP_HOST 헤더 'pt_web:8000'이 잘못되었습니다.제공된 도메인 이름은 RFC 1034/1035에 따라 유효하지 않습니다.
나는 그것을 더해서 해결했다.proxy_set_header Host $host;
Nginx 컨피규레이션파일로 전송하여 포트 전송을 유효하게 합니다.USE_X_FORWARDED_PORT = True
에서settings.py
(내 경우 Nginx 포트에서 요청을 듣고 있었기 때문에)8080
그리고 로 넘어간다.guni
입항하여8000
).
저는 true로 설정하지 않아 이 오류가 발생하였습니다.문서에서:
이 헤더를 설정하는 프록시가 사용 중인 경우에만 활성화해야 합니다.
호스팅 서비스에서는 문서에 이 설정을 사용해야 한다고 명시하고 있는데 잊어버리면 이 400개의 오류가 발생합니다.
도 같은 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ALLOWED_HOSTS = ['*']
정적 이미지 문제를 해결하려면 환경 구성의 가상 경로를 다음과 같이 변경해야 합니다.
Path( 패스)
currentopt/current/app/yourpj/static/
opt/python/current/app/Nuevo/media/
도움이 됐으면 좋겠네요.
제가 영어를 못해서 죄송합니다.
프로젝트의 settings.py에서 행 28을 체크합니다.여기서 Allows Host는
설정을 지정합니다.화이
ALLOWED_HOSTS = ['IP', 'servidor', ]
사용하는 IP 및 서버를 로컬 또는 웹 수준 설정으로 설정해야 합니다.화이
ALLOWED_HOSTS = ['127.0.0.1', 'localhost', 'www.ejemplo.com']
또는
ALLOWED_HOSTS = ['*']
★★★★★★★★★★★★★★★★ DEBUG = False
합니다.HOST host 。.ALLOWED_HOST = ['127.0.0.1', 'localhost', 'www.yourdomain.com']
그렇지 않으면 django에서 Bad Request(400) 오류가 발생할 수 있습니다.
127.0.0.1에서는 xampp, 127.0.1.1에서는 django를 이미 사용하고 있기 때문에 호스트 추가를 계속 시도하고 있습니다.
ALLOWED_HOSTS = ['127.0.0.1', 'localhost', 'www.yourdomain.com', '*', '127.0.1.1']
한 리퀘스트(400)를 .
그래서 URL을 127.0.1.1:(사용한 포트)/project 및 voila로 변경합니다!
「」의 「bitnami django stack 2.2.3-1」의 「bitnami django stack 2.2.3-1」의 「django」를 참조해 주세요. 운을을빈빈빈빈
먼저 아파치 서버를 멈춰야 했어요
(f.e.sudo systemctl stop httpd.service
sudo systemctl disable httpd.service
를 참조해 주세요.
해서하는 것 이 되었습니다.settings.py
」
로로 합니다.ALLOWED_HOSTS = ['se.rv.er.ip', 'www.example.com']
해보다manage.py collectstatic
업데이트 후 스태틱파일이 없어져 버렸습니다.그때,, ,,된다다다 다다다다다
를 를용 the the the the the the the the the the the 로 해 보세요.--insecure
깃발, 깃발, 깃발, 깃발, 깃발, 깃발, 깃발, 깃발, 깃발, 깃발, 깃발, 깃발.
python manage.py runserver --insecure
언급URL : https://stackoverflow.com/questions/19875789/django-gives-bad-request-400-when-debug-false
'programing' 카테고리의 다른 글
IntelliJ에서 Maven의 Java 버전을 변경하는 방법 (0) | 2022.09.27 |
---|---|
VueJs exact-active 클래스 (0) | 2022.09.27 |
조인 쿼리가 코드 시그니터에서 작동하지 않습니다. (0) | 2022.09.27 |
간단한 if-then-else 문구를 한 줄에 표시하다 (0) | 2022.09.27 |
JavaScript와 의 JavaScript (0) | 2022.09.27 |