Http://localhost:8000/token/ 400 (Плохой запрос)

В django у меня есть модуль jwt для drf (он называется simple-jwt), и я настроил урлы, как указано в документации, как мне исправить ошибку, в бэкенде весь процесс входа должен быть POST запросом: urls.py

urlpatterns = [
    path('token/', TokenObtainPairView.as_view(), name='token_obtain_pair'),
    path('token/refresh/', TokenRefreshView.as_view(), name='token_refresh'),

теперь о реактивной части (фронтенд):

function Login(){
    let [login,setLogin] = useState({
        email: '',
        password:''

    });
    let cookie = Cookies.get('csrftoken');
    const { email, password } = login;
    function handleChange(e){
        console.log(e.target.value);
        setLogin({
            ...login,
            [e.target.name]: e.target.value
        });

    }
    function handleSubmit(e){
        const token = localStorage.getItem('token');
        e.preventDefault();
        axios.post('http://localhost:8000/token/',login,{withCredentials:true},{headers: {'Content-Type': 'application/json', 'X-CSRFToken': cookie,'Access-Control-Allow-Origin':'*','Authorization': `Bearer ${token}`}})
        .then(res => {
            console.log(res.data);
        }

        )
        .catch(err => console.log(err))
    }

    
    return (
        <div className="container">
        <form method='post' onSubmit={handleSubmit}>
            <h1>Login</h1>
            <label>
                Email:
                <input type='text' name = 'email' value={email} onChange={e=>handleChange(e)} required/>

            </label>
            <label>
                Password:
                <input type='password' name = 'password' value={password} onChange={e=>handleChange(e)} required/>
            </label>
            {isLoggedin = true}
            <button type='submit'>Login</button>
        </form>
            <p className='mt-3'>
                Don't have an Account? <Link to='/signup'>Sign Up</Link>
            </p>
        </div>
    );
};



export default Login;
``` this is login component, I am getting bad request (400) error, but I cant find out why, and how to fix it? if there is anything else (more code, or more information) to add, please do not be shy to tell me, thanks!

Ошибка Django 400 bad request возникает по многим причинам, включая неправильный синтаксис, поврежденные расширения, неправильный URL и так далее. Вы можете попробовать выполнить следующие шаги :

  1. Возможно, переменная ALLOWED_HOSTS установлена неправильно: убедитесь, что ALLOWED_HOSTS = ['127.0.0.1', 'localhost'], поскольку вы работаете в local.

  2. Очистка кэша для исправления ошибки 400 bad request. Кэш также может создавать проблемы, очистите кэш и попробуйте проверить, не исчезнет ли ошибка.

  3. Это может быть вызвано повреждением расширений, тогда обратите внимание на установленные расширения, с которыми вы работаете.

Вернуться на верх