Opened 5 years ago

Last modified 3 years ago

#30296 new New feature

Add how-to guide for JavaScript frameworks integration

Reported by: Maciej Olko Owned by:
Component: Documentation Version:
Severity: Normal Keywords: javascript, rest, api, assets
Cc: Triage Stage: Accepted
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

Question "How do I get Django and my JS framework to work together?" is common question being searched on the Internet {1}{2} so it should be vital to have at least introduction to this topic in Django's documentation.

How-to guide would consist of two parts (B and C original descriptions by Ayeric Augustin {3}):

  1. Consider brief introduction how to make JSON response, what is a REST API and link to API creation Django Packages grid?
  1. Singe Page App model description — where Django only serves the API

We would need to explain CORS and CSRF in the clearest terms possible. Many devs end up shotgun-debugging CORS or CSRF errors, which always results in insecure deployments. (…) Perhaps a condensed version of Django React SPA Aymeric's blog post {4} could do the job? (…)

  1. Description of integrating a modern JS framework with django.contrib.staticfiles

(…) The docs should at least give the general idea of "compile your frontend to somewhere Django can find the files, then run collectstatic".

Discussion on django-developers: https://groups.google.com/d/topic/django-developers/KVAZkRCq9KU/discussion

Related:

{1} https://stackoverflow.com/questions/41867055/how-to-get-django-and-reactjs-to-work-together
{2} https://stackoverflow.com/questions/28590177/django-back-end-with-a-dynamic-front-end-angularjs
{3} https://groups.google.com/d/msg/django-developers/KVAZkRCq9KU/rt24LMnPCAAJ
{4} https://fractalideas.com/blog/making-react-and-django-play-well-together-single-page-app-model/

Change History (6)

comment:1 by Carlton Gibson, 5 years ago

Triage Stage: UnreviewedAccepted

Accepting, yes. This kind of guide would be great I think. (I guess the difficulty is pitching it exactly right, but that's implementation... 🙂)

comment:2 by Josef Rousek, 5 years ago

Owner: changed from nobody to Josef Rousek
Status: newassigned

comment:3 by Tapasweni Pathak, 5 years ago

Hello folks: Can I take the ticket or the ticket is for internal folks?

in reply to:  3 comment:4 by Josef Rousek, 5 years ago

Replying to tapaswenipathak:

Hello folks: Can I take the ticket or the ticket is for internal folks?

Hi there. Feel free to take it. I created a repo with basic guide, but haven't got back. https://github.com/stlk/django-webpack

comment:5 by Mariusz Felisiak, 3 years ago

Owner: Josef Rousek removed
Status: assignednew

comment:6 by Thomas Güttler, 3 years ago

I think the first step would be to focus on how to get a library which you can install via npm integrated into Django.

CORS, APIs, DRF ... are a different topic (and I think it is out of scope)

But I think this should be documented:

Imagine you want to integrate a simple npm installable JS library like: https://github.com/BlueM/form-change-tracker

It is not that super simple, because above library has a dependency.

The task is not really hard. But up to now everybody does it in a different way. It would be nice to have
a simple default way of integrating npm installable JS libraries.

Note: See TracTickets for help on using tickets.
Back to Top