Instrucciones Python Django React Grpcalcs
Instrucciones Python Django React Grpcalcs
A continuación, algunas extensiones que te serán de mucha ayuda para trabajar con Python,
Django y React.js:
1. Python (Microsoft): Proporciona soporte completo para Python y Django.
2. Django (Baptiste Darthenay): Autocompletado y soporte específico para Django.
3. ESLint: Te ayudará a identificar errores y problemas en el código JavaScript, muy útil para
React.
4. Prettier - Code Formatter: Para formateo automático del código tanto en Python como en
JavaScript.
5. Reactjs code snippets: Facilita la escritura de componentes y código React con atajos.
6. GitLens: Si trabajas con Git, esta extensión te ayudará a seguir cambios y colaborar mejor.
7. Docker (opcional): Si planeas usar Docker para contenedores.
Asegúrate de estar en el directorio donde deseas crear el proyecto. Abre una terminal en
Visual Studio Code o usa tu terminal de preferencia. Sigue los pasos para configurar tu
entorno:
9. Instala `django-cors-headers`:
```bash
pip install django-cors-headers
```
1. Dentro de tu aplicación `une`, crea un archivo `serializers.py` para serializar tus modelos:
```python
from rest_framework import serializers
from .models import Item
class ItemSerializer(serializers.ModelSerializer):
class Meta:
model = Item
fields = '__all__'
```
class ItemViewSet(viewsets.ModelViewSet):
queryset = Item.objects.all()
serializer_class = ItemSerializer
```
router = DefaultRouter()
router.register(r'items', ItemViewSet)
urlpatterns = [
path('api/', include(router.urls)),
]
```
4. En el archivo `src/api.js`, configura una función para obtener datos de la API de Django:
```javascript
import axios from 'axios';
function App() {
const [items, setItems] = useState([]);
useEffect(() => {
const getItems = async () => {
try {
const data = await fetchItems();
setItems(data);
} catch (error) {
console.error('Error fetching data', error);
}
};
getItems();
}, []);
return (
<div className="App">
<h1>Items List</h1>
<ul>
{items.map(item => (
<li key={item.id}>{item.name} - {item.description}</li>
))}
</ul>
</div>
);
}