问题描述
我试图将 ant design React.js中的数据发布到Python Django其余框架中。 因此我正在使用方法 OnFinish 发送数据,但无法正常工作。
我的最大问题是,我不知道我该如何使用React-redux或其他方法从Form数据中发送数据,所以请帮助我。 #react.js表单:
import React,{ Component } from "react";
import {
Form,Input,Button,PageHeader,Select,DatePicker,message,} from "antd";
import "antd/dist/antd.css";
import { connect } from "react-redux";
import axios from "axios";
// defualt setting for django
axios.defaults.xsrfCookieName = "csrftoken";
axios.defaults.xsrfHeaderName = "X-CSRFToken";
// from layout setting
const formItemLayout = {
labelCol: {
xs: {
span: 24,},sm: {
span: 8,wrapperCol: {
xs: {
span: 24,sm: {
span: 16,};
const tailFormItemLayout = {
wrapperCol: {
xs: {
span: 24,offset: 0,offset: 8,};
// end fform layout setting
// const onFinish = (values) => {
// console.log(values);
// axios.post("http://127.0.0.1:8000/api/create/",{
// title: values.title,// manager: values.manager,// });
// };
// const title = event.target.elements.title.value;
// const manager = event.target.elements.manager.value;
class ExtrashiftForm extends React.Component {
constructor(props) {
super(props);
this.state = {
Extrashifts: [],};
}
// componentDidMount() {
// this.fetchExtrashift();
// }
handleSubmit = () => {
axios
.post("http://127.0.0.1:8000/api/create",{
data: {
title: this.target.elements.title.value,manager: this.data.item.manager,})
.then((res) => {
if (res.status == 200) message.success("data successfully updated!");
this.fetchExtrashift();
})
.catch((err) => {
message.error("data profile failed to update ...");
});
};
render() {
return (
<div>
<Form {...formItemLayout} name="update">
<Form.Item label="Title :">
<Input name="title" placeholder="Put a title here" />
</Form.Item>
<Form.Item label="Manager :">
<Input name="manager" placeholder="Enter manager name" />
</Form.Item>
<Form.Item {...tailFormItemLayout}>
<Button
type="primary"
htmlType="submit"
onFinish={this.handleSubmit}
>
create
</Button>
</Form.Item>
</Form>
</div>
);
}
}
export default ExtrashiftForm;
#后端api / urls.py:
from Extrashift.api.views import ExtrashiftViewSet
from rest_framework.routers import DefaultRouter
router = DefaultRouter()
router.register(r'',ExtrashiftViewSet,basename='Extrashift')
urlpatterns = router.urls
#backend:api / views.py:
from rest_framework import viewsets
from Extrashift.models import Extrashift
from .Serializers import ExtrashiftSerializers
class ExtrashiftViewSet(viewsets.ModelViewSet):
serializer_class = ExtrashiftSerializers
queryset = Extrashift.objects.all()
from rest_framework import permissions
from rest_framework.generics import (
ListAPIView,RetrieveAPIView,CreateAPIView,UpdateAPIView,DestroyAPIView
)
从我的后端开始,一切正常,但请帮助我,我只能从此表单发送一个数据。
如果可以,请将我的代码更改为正确的代码
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)