Python 3.x 如何在react js前端打印Django列表
我的名单如下:Python 3.x 如何在react js前端打印Django列表,python-3.x,reactjs,django,django-rest-framework,django-react,Python 3.x,Reactjs,Django,Django Rest Framework,Django React,我的名单如下: ["test1","test2","test3","test4"] 我有以下序列化程序类: class ListSerializer(serializers.Serializer): key=serializers.ListField() 这是views.py文件: class ListView(APIView): def get(self, request,*args, **kw
["test1","test2","test3","test4"]
我有以下序列化程序类:
class ListSerializer(serializers.Serializer):
key=serializers.ListField()
这是views.py文件:
class ListView(APIView):
def get(self, request,*args, **kwargs):
serializer_class = ListSerializer
#print("The serializer is:",serializer_class)
#print(printList())
return Response({"keywords":printList()})
在前端下,我有以下API方法:
static listFormUser() {
const TOKEN = getItem("accessToken");
return axios({
method: "get",
url: `${BASE_URL}/api/listtopics/`,
headers: {
"Content-Type": "application/json",
Accept: "application/json",
Authorization: `Token ${TOKEN}`,
},
}).then((res) => res);
}
}
下面是显示列表的React类代码
class printForm extends Component {
constructor(props){
super(props);
this.state={
items:[],
isLoaded:false,
key:"",
}
}
componentDidMount(){
this.setState({ isLoding: true }, () => {
RestAPI.listForm()
.then((response) => {
let keywordArray = [];
for (let i = 0; i <= response.data.length; i++) {
keywordArray.push({
text: response.data[i].key,
});
}
if (response.data.length === 0) {
this.setState({
isData: false,
});
}
this.setState({
isLoding: false,
items: keywordArray,
});
})
.catch((error) => {
this.setState({ isLoding: false });
handleServerErrors(error, toast.error);
});
});
}
render(){
return(<ListGroup>
<ListGroupItem>Cras justo odio</ListGroupItem>
<ListGroupItem>Dapibus ac facilisis in</ListGroupItem>
<ListGroupItem>Morbi leo risus</ListGroupItem>
<ListGroupItem>Porta ac consectetur ac</ListGroupItem>
<ListGroupItem>
{items.map(item => {
return <li>{items[0]}</li>;
})}
</ListGroupItem>
</ListGroup>
)
}
类printForm扩展组件{
建造师(道具){
超级(道具);
这个州={
项目:[],
isLoaded:false,
关键字:“,
}
}
componentDidMount(){
this.setState({isLoding:true},()=>{
RestAPI.listForm()
。然后((响应)=>{
让关键字数组=[];
for(设i=0;i{
this.setState({isLoding:false});
handleServerErrors(错误,toast.error);
});
});
}
render(){
返回(
克拉斯胡斯托奥迪奥酒店
Dapibus ac设施处于关闭状态
莫比利奥·里索斯
交流门
{items.map(item=>{
返回{items[0]} ;
})}
)
}
列表未打印。这里可能有什么错误?我尝试了许多方法,但都不起作用在
列表视图中
返回带有列表的JSON(不需要序列化程序)
def printList():
返回[“test1”、“test2”、“test3”、“test4”]
类列表视图(APIView):
def get(自我、请求、*args、**kwargs):
返回响应({“关键字”:printList()})
在反应侧访问列表:
let keywordArray = [];
for (let i = 0; i < response.data["keywords].length; i++) {
keywordArray.push({
text: response.data["keywords"][i],
});
}
let关键字数组=[];
for(设i=0;i
正如您所见,您需要通过在response.data
中设置“关键字”来访问列表
下面是一个关于如何生成的好教程。在
列表视图中,您返回带有列表的JSON(不需要序列化程序)
def printList():
返回[“test1”、“test2”、“test3”、“test4”]
类列表视图(APIView):
def get(自我、请求、*args、**kwargs):
返回响应({“关键字”:printList()})
在反应侧访问列表:
let keywordArray = [];
for (let i = 0; i < response.data["keywords].length; i++) {
keywordArray.push({
text: response.data["keywords"][i],
});
}
let关键字数组=[];
for(设i=0;i
正如您所见,您需要通过在response.data
中设置“关键字”来访问列表
下面是一个关于如何制作的好教程