Django表单和身份验证与前端框架(AngularJS/ReactJS)
问题描述:
一直在阅读并关注将ReactJS集成到Django项目中的情况。我通过Django REST框架以JSON的形式获取从Django流出的数据的基本概念。Django表单和身份验证与前端框架(AngularJS/ReactJS)
虽然教程似乎结束了,但数据是如何流向相反方向的,以及Django如何发挥作用?我认为输入元素被重新渲染回JSON,然后以PUT
,PATCH
,POST
等形式通过Django REST框架发回,以更新模型。
但是,当涉及到使用用户输入对Django内置的auth视图时,我有点失落。有没有人有这方面的经验,关心解释?
答
首先你必须用Django-Rest-Framework开发API。
下面是小例子,如何在ReactJs
发送和接收数据数据提交API:
onSubmit(){
fetch('https://djangoRest.com/endpoint/', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
firstParam: 'yourValue',
secondParam: 'yourOtherValue',
})
})
}
ReactJs获取从API数据
loadData() {
fetch('https://djangoRest.com/endpoint/', {
method: 'GET',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
}
})
.then((response) => response.json())
.then((responseJson) => {
if (responseJson.data) {
this.setState({ Data: responseJson.data });
}
if (responseJson.errors) {
console.log('errors', responseJson.errors)
}
})
}
编号: https://facebook.github.io/react-native/docs/network.html
您能否澄清一下您的项目布局。例如,您是否使用Django创建REST API并从React项目调用该API? – Turtle
是的,这是正确的。使用ReactJS作为前端,所以我的理解是我必须使用Django REST Framework创建一个API,然后让ReactJS为前端渲染JSON。我还没有那么远,但它让我想知道前端的交互如何传递回Django。 – sockpuppet
你可以通过类似'fetch'的方式来调用你的Django API。您根本不会使用Django表单 – Turtle