Skip to main content

A zero-fuss way to create non single page apps with react.

Project description

React Pages

A zero-fuss solution for using React for non-SPAs, django and other non-node environments.
  • Zero Configuration required.
  • Go from development to production with ease.
  • Automatically install node using nvm.
  • Natively use react in django/flask.

Terminology

Project

The project contains the node.js modules necessary to use react, some other js files, required by react pages itself and the pages you add.

└── project
    ├── package.json
    └── package-lock.json

Page:

A page is a directory containing at least an index.js file, (and probably other css/js files specific to your application.)

└── page
    ├── App.css
    ├── App.js
    ├── App.test.js
    ├── index.css
    ├── index.js
    ├── logo.svg
    └── registerServiceWorker.js

QuickStart

$ react-pages project poll_react_pages # create a project

$ cd poll_react_pages

$ react-pages page vote # create a page

$ react-pages react_pages # development

$ react-pages deploy # production

Django Integration

settings.py

INSTALLED_APPS = [
    ...
    'react_pages_django',
    ...
]

# Assuming your React Pages project is at BASE_DIR,
REACT_PAGES_PROJECT_DIR = os.path.join(BASE_DIR, 'poll_react_pages')

template.html

{% load react_pages %}
...
{% render_react_page 'vote' %}
...

That's it! React Pages will pick-up the "vote" page from "poll_react_pages" project and do the nessecary work to transpile react code.

Django Context

You can pass django template context varialbes like so -

views.py context['foo'] = [1, 2, 3]

template.html {% render_react_page 'vote' foo=foo %}

Then access these anywhere in react code console.log(foo);

Note: These must be JSON serialize-able

For production, just put DEBUG=False in settings.py and relax.

Existing projects

React Pages will automatically patch itslef into any existing project, that was created using create-react-app.

Just run react-pages project . from your project directory!

Projects not using create-react-app will probably work, but no guarantees can be made.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

react-pages-0.0.8.tar.gz (168.3 kB view details)

Uploaded Source

Built Distribution

react_pages-0.0.8-py2.py3-none-any.whl (912.1 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file react-pages-0.0.8.tar.gz.

File metadata

  • Download URL: react-pages-0.0.8.tar.gz
  • Upload date:
  • Size: 168.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for react-pages-0.0.8.tar.gz
Algorithm Hash digest
SHA256 387f04a0bc37b96916c13d06b5be5f02fcb6d2061b0b54bd3ebd69acc3463443
MD5 eebf1df1adbb430125a4806edfa36137
BLAKE2b-256 26f7aa09eed8999a9dc1d8d37f19bd457627a0f4023f0e4432c74854cbfafa92

See more details on using hashes here.

File details

Details for the file react_pages-0.0.8-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for react_pages-0.0.8-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 f88ed0bc80450fe44b5303fc04619a63d5f2057bfb17bb9a07f455b311128af5
MD5 ace1883df97535ab6e50880d5b7b93e0
BLAKE2b-256 73c4420aa93a0dbb27b8408941660aef5d72524f106451b9a03c8edd12f03956

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page