Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia | ||
integracio_de_django_amb_react [2023/07/06 10:08] raquel_alaman_navas |
integracio_de_django_amb_react [2023/07/06 10:25] (actual) raquel_alaman_navas [Integració de Reactjs (FrontEnd)] |
||
---|---|---|---|
Línia 24: | Línia 24: | ||
* **Account**: | * **Account**: | ||
- | --> Proposta implementació Customer i Account# | + | --> Proposta |
<file python models.py> | <file python models.py> | ||
Línia 227: | Línia 227: | ||
</ | </ | ||
- | Si és així, et sortirà una pantalla similar a aquesta: | + | Si és així, et sortirà una pantalla similar a aquesta |
+ | {{ :: | ||
4. Obre el fitxer //App.js// a la carpeta del frontend. Elimina el codi existent i substitueix-lo pel codi següent: | 4. Obre el fitxer //App.js// a la carpeta del frontend. Elimina el codi existent i substitueix-lo pel codi següent: | ||
Línia 433: | Línia 434: | ||
} | } | ||
</ | </ | ||
+ | |||
+ | 7. Crea una carpeta nova anomenada " | ||
+ | <file javascript Modal.js> | ||
+ | import React, { Component } from " | ||
+ | |||
+ | // importing all of these classes from reactstrap module | ||
+ | import { | ||
+ | Button, | ||
+ | Modal, | ||
+ | ModalHeader, | ||
+ | ModalBody, | ||
+ | ModalFooter, | ||
+ | Form, | ||
+ | FormGroup, | ||
+ | Input, | ||
+ | Label | ||
+ | } from " | ||
+ | |||
+ | class CustomModal extends Component { | ||
+ | constructor(props) { | ||
+ | super(props); | ||
+ | this.state = { | ||
+ | activeItem: this.props.activeItem | ||
+ | }; | ||
+ | } | ||
+ | // changes handler to check if a checkbox is checked or not | ||
+ | handleChange = e => { | ||
+ | let { name, value } = e.target; | ||
+ | if (e.target.type === " | ||
+ | value = e.target.checked; | ||
+ | } | ||
+ | const activeItem = { ...this.state.activeItem, | ||
+ | this.setState({ activeItem }); | ||
+ | }; | ||
+ | |||
+ | // rendering modal in the custommodal class received toggle and on save as props, | ||
+ | render() { | ||
+ | const { toggle, onSave } = this.props; | ||
+ | return ( | ||
+ | <Modal isOpen={true} toggle={toggle}> | ||
+ | < | ||
+ | < | ||
+ | |||
+ | < | ||
+ | |||
+ | {/* 3 formgroups | ||
+ | 1 title label */} | ||
+ | < | ||
+ | <Label for=" | ||
+ | <Input | ||
+ | type=" | ||
+ | name=" | ||
+ | value={this.state.activeItem.title} | ||
+ | onChange={this.handleChange} | ||
+ | placeholder=" | ||
+ | /> | ||
+ | </ | ||
+ | |||
+ | {/* 2 description label */} | ||
+ | < | ||
+ | <Label for=" | ||
+ | <Input | ||
+ | type=" | ||
+ | name=" | ||
+ | value={this.state.activeItem.description} | ||
+ | onChange={this.handleChange} | ||
+ | placeholder=" | ||
+ | /> | ||
+ | </ | ||
+ | |||
+ | {/* 3 completed label */} | ||
+ | < | ||
+ | <Label for=" | ||
+ | <Input | ||
+ | type=" | ||
+ | name=" | ||
+ | checked={this.state.activeItem.completed} | ||
+ | onChange={this.handleChange} | ||
+ | /> | ||
+ | Completed | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | {/* create a modal footer */} | ||
+ | < | ||
+ | <Button color=" | ||
+ | Save | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | ); | ||
+ | } | ||
+ | } | ||
+ | export default CustomModal | ||
+ | </ | ||
+ | 8. Fes els canvis indicats a continuació al fitxer // | ||
+ | <file javascript index.js> | ||
+ | import React from " | ||
+ | import ReactDOM from " | ||
+ | import " | ||
+ | import App from " | ||
+ | |||
+ | import " | ||
+ | |||
+ | ReactDOM.render( | ||
+ | < | ||
+ | <App /> | ||
+ | </ | ||
+ | document.getElementById(" | ||
+ | ); | ||
+ | </ | ||
+ | 9. Per fer les peticions als endpoints de l'API al servidor del framework de Django, necessitarem instal·lar l' | ||
+ | < | ||
+ | npm install axios | ||
+ | </ | ||
+ | |||
+ | I, amb aquest pas, ja tenim una aplicació Fullstack Django-React utilitzant el framework REST Django per establir la comunicació entre el frontend i el backend. | ||
+ | |||
+ | <WRAP todo> | ||
+ | **Exercici: | ||
+ | Aplica la serialització de manera que es puguin gestionar els comptes associats als clients. | ||
+ | </ | ||
+ | |||
+ | \\ | ||
+ |