Skip to main content

Django-NextJS Isomorphic UI dev with Decorator pattern

Project description

Isomorphic UI Development with Decorator pattern for Django with:

  • nextjs out of the box experience for frontend development,
  • rendering of nextjs pages with context in Django with NextJS template engine.

For fun & profit

Run the example project

Run this commands as non root:

git clone https://git.yourlabs.org/oss/djnext
cd djnext
pip install --user --editable .[dev]
yarn install
djnext djnext  # required for yarn dev to run
yarn dev  # run localhost:3000
djnext dev  # run localhost:8000

Choose NextJS page template in Django

Example project lives in src/djnext_example, see src/djnext_example/artist/urls.py:

CreateView.as_view(
    model=Artist,
    fields=['name'],
    success_url=reverse_lazy('artist_list'),
    template_name='create.js',
)

The template backend you added will make a request to the nextjs server you have on port 3000 with yarn dev.

Djnext command

Run your manage.py djnext or yourproject djnext if your project has an entrypoint.

This will watch static/pages directories of all apps in INSTALLED_APPS, and build the pages/ directory, so that yarn dev will find it.

On port 8000 we don’t yet have auto frontend code reload, but you have it on port 3000 with djnext command running at the same time.

Install in your project

Add to ‘djnext’ to INSTALLED_APPS, add dict(BACKEND='djnext.Backend') to TEMPLATES.

Note

To have the dev command, add crudlfap to INSTALLED_APPS.

With LOVE from POITOU CHARENTE

Credit

Thanks to frontend engineer Thomas Binetruy for participating

Project details


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
djnext-0.0.2.tar.gz (4.7 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page