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 develop # 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.

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.7.tar.gz (834.3 kB view details)

Uploaded Source

Built Distribution

react_pages-0.0.7-py2.py3-none-any.whl (847.8 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

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

File hashes

Hashes for react-pages-0.0.7.tar.gz
Algorithm Hash digest
SHA256 e0b06088bdb6cf9578d1b42fefed2907704bfb7537bcb07e714456ecd55050d7
MD5 b22d1515704521d76b7728fbf0c073bf
BLAKE2b-256 920c37fd3bd3ab0acd181598b43e8c65d0ee47d382aaa839f4b15eb8ed58eb34

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for react_pages-0.0.7-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 b467616cf08a494e2eb663d97b786d1f02704c14cfe7360bebe50d71d48ec27f
MD5 e7ed1617d81ad55a468fae727e10607d
BLAKE2b-256 6583f4c7bb4016c13ad5294f9aebe789137f4aab1b103331c5c9347321c3509d

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