2017-02-02 99 views
-1

一直在閱讀並關注將ReactJS集成到Django項目中的情況。我通過Django REST框架以JSON的形式獲取從Django流出的數據的基本概念。Django表單和身份驗證與前端框架(AngularJS/ReactJS)

雖然教程似乎結束了,但數據是如何流向相反方向的,以及Django如何發揮作用?我認爲輸入元素被重新渲染回JSON,然後以PUT,PATCH,POST等形式通過Django REST框架發回,以更新模型。

但是,當涉及到使用用戶輸入對Django內置的auth視圖時,我有點失落。有沒有人有這方面的經驗,關心解釋?

+0

您能否澄清一下您的項目佈局。例如,您是否使用Django創建REST API並從React項目調用該API? – Turtle

+0

是的,這是正確的。使用ReactJS作爲前端,所以我的理解是我必須使用Django REST Framework創建一個API,然後讓ReactJS爲前端渲染JSON。我還沒有那麼遠,但它讓我想知道前端的交互如何傳遞迴Django。 – sockpuppet

+0

你可以通過類似'fetch'的方式來調用你的Django API。您根本不會使用Django表單 – Turtle

回答

0

首先你必須用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