Material Design for Django

Overview

Django Material

Material design for Django.

Join the chat at https://gitter.im/viewflow/django-material
  • Django-Material 1.7.x compatible with Django 1.11/2.0/2.1/2.2/3.0/3.1
  • Django-Material 1.6.x compatible with Django 1.11/2.0/2.1/2.2/3.0
  • Django-Material 1.[3,4,5].x compatible with Django 1.11/2.0/2.1/2.2
  • Django-Material 1.2.x compatible with Django 1.11/2.0
  • Django-Material 1.1.x compatible with Django 1.8/1.9/1.10/1.11

Tested with:

demo/static/img/browserstack_small.png

Overview

  • Forms - New way to render django forms
    • Strong python/html code separation
    • Easy redefinition of particular fields rendering
    • Complex form layout support
  • Frontend - Quick starter template for modular admin-line applications development

.screen.png

Demo

http://forms.viewflow.io/

To checkout and run open source demo version locally, you need to have git and tox tools installed.

git clone https://github.com/viewflow/django-material.git
cd django-material

TOXENV=py36-dj111 tox -- python manage.py migrate --settings=demo.settings
TOXENV=py36-dj111 tox -- python manage.py loaddata demo/fixtures/* --settings=demo.settings
TOXENV=py36-dj111 tox -- python manage.py runserver --settings=demo.settings

Then you can go to http://127.0.0.1:8000/integration/ and login with admin:admin username and password to the demo site.

Documentation

http://docs.viewflow.io/material_forms.html

License

Django Material is an Open Source project licensed under the terms of the BSD3 license

Django Material Pro with additional features has a commercial-friendly license. Check http:viewflow.io/pro/ for details.

Changelog

1.9.0 2020-04-30

  • Add support for attribute removing #500
  • Add support for groups in checkbox select multiple #436
  • Add basic support for ordering custom fields in list view #224
  • Change to lazy evaluation {{ modules }} context variable
Comments
  • Invalid template name in 'extends' tag: ''. Got this from the 'current_module.base_template' variable.

    Invalid template name in 'extends' tag: ''. Got this from the 'current_module.base_template' variable.

    hello guys, I created a module with manage.py startmodule applitest and i leave all by default and i uncomment default code in (models.py, urls.py and views.py) and everything was fine. But when go to localhost:8000/applitest/mymodel/ it throws TemplateSyntaxError.

    enhancement frontend 
    opened by TobinFrost 21
  • Make list_actions consistent between ModelViewSet and ListMovelView

    Make list_actions consistent between ModelViewSet and ListMovelView

    ModelViewSet accepts list of tuples in format:

    list_actions = [
        ('Delete objects', DeleteView)
    ]
    

    Whereas the ListMovelView accepts in format:

    list_actions = [
        ('Delete objects', 'delete_view_url')
    ]
    

    A relatively easy fix should be to simply move the _get_actions, get_action_view_kwargs and get_action_view from ModelViewSet into ListMovelView because as default ModelViewSet uses ListMovelView as its list_view_class anyway. This would make it possible to use list_actions in ListMovelView with passing the view directly into it, rather than reversing the url regardless of whether the ListMovelView is used from ModelViewSet or independently.

    EDIT: Additionally, it would be nice to have template_name default to {model_name}_action_{action_name}.html (through get_template_names)

    EDIT 2: A has_action_permission should be added to BaseActionView which defaults to not requiring any permission. This makes it easy to e.g. restrict delete action to people with model's can_delete permission (which makes sense).

    opened by emihir0 13
  • Foreign Key Popup not opening in a new window

    Foreign Key Popup not opening in a new window

    Hi,

    When I've got a foreign key field, it's possible to "add" a new foreign key value. Normally with Django, it opens a new browser (target=blank).

    However, with Material, it just opens a new page- meaning you leave the original model you were trying to edit.

    I made a screenshot which should make more sense.

    Not sure if this is a one-off bug for me, or a project wide-issue...

    2016-06-28 at 3 21 10 pm

    bug admin 
    opened by yarnball 12
  • AjaxModelSelect OPTIONS header issue

    AjaxModelSelect OPTIONS header issue

    OPTIONS header is used for CORS and cannot be trusted for data transfer in request body.

    Eg. on AWS lambda request body is cleared with OPTIONS header. I've managed to override this by reading body from wsgi: request_body = request.environ['wsgi.input']

    Sadly, this is not the solution. Microsoft Edge 16 doesn't send request body with OPTIONS request. So AJAX widget is not usable on Edge at all. After all component should be using POST or GET for this. I suggest using POST with some kind of parameter and provide backward compatibility for OPTIONS. In JS with autocompleter initialization provide parametrization:

    var autocompleteType = <setting>;  // <-- this should be OPTIONS or POST. OPTIONS for backward compatibility.
    var url = '.';
    if (autocompleteType === "POST") {
       url = '.?autocomplete';
    }
    (...)
    .devbridgeAutocomplete({
      (...)
      serviceUrl: url,
      showNoSuggestionNotice: true,
      type: autocompleteType
    })
    

    That way we could use POST method for both POSTs and autocompletes using URL param.

    bug forms 
    opened by grzegorzbialy 11
  • v2: publish npm package

    v2: publish npm package

    Perhaps components from https://github.com/viewflow/django-material/tree/v2/material/static/material/components could be installed with npm install django-material, do you think this will be possible ?

    enhancement wontfix frontend 
    opened by jpic 10
  • When I click an item in dropdown selector , the item won't be selected

    When I click an item in dropdown selector , the item won't be selected

    for example ,in http://forms.viewflow.io/demo/bank/, when I click America in Nationality, America won't be choosed. My browser is Google Chrome v61.0.3163.100.

    bug forms 
    opened by liangWenPeng 10
  • Contributing by adding formsets: little bit of guidance

    Contributing by adding formsets: little bit of guidance

    Hi! First of all: awesome project, first thing i thought about when I learned about Google's Material design.

    I don't have an issue but I didn't know where to put this, so I figured I'd do it here.

    I'd like to build out some missing parts of the Admin, I want it in one of my projects and would love to be able to offer this design to my clients. I've forked and integrated the project as a dev version in a current project, and ran into the missing formsets thing and I'd like to start there!

    I was hoping someone could point me in the right direction for adding formsets, it would save me quite some time figuring out how the Admin internals work. If not, no problem, I'll do it anyway but it'll take me a little bit longer :) I'll take a look at the issues as well to see if I can fix a couple of them while I'm at it.

    I'd be happy to write a small contributing guide in the process to try to give the project a boost.

    Let me know if help is welcome!

    question 
    opened by Zowie 9
  • Drop admin styling

    Drop admin styling

    Unfortunately, i can't no longer support django-material admin custom theme. But it's not so bad

    • Django 2.0 got responsive mobile interface.
    • There are a lot of issues in the django-material admin customization
    • No paying customer interest in the custom admin

    I going to spend more efforts on the material.frontend improvements. Frontend going to be complete, more flexible and customizable django-admin replacement.

    --

    • [x] drop admin templates
    • [ ] remove django-material from admin-styling grid on djangopackages
    enhancement admin frontend 
    opened by kmmbvnr 8
  • CheckboxSelectMultiple not displaying checkboxes

    CheckboxSelectMultiple not displaying checkboxes

    I'm using a ModelForm, my 'Person' model has a ManyToMany relationship with 'Problem' and I've set the form to show checkboxes as so

    class PersonForm(forms.ModelForm):
        class Meta:
            model = Person
            exclude = ('',)
            widgets = {
                'problems': forms.CheckboxSelectMultiple(),
            }
    

    But it doesn't show checkboxes with Material Form, instead it shows a MultipleSelect With Material

    Removing the Material template shows up the checkboxes Without Material

    forms not implemented 
    opened by vjFaLk 8
  • 404 error when trying to add a related (FK) object

    404 error when trying to add a related (FK) object

    opened by edvm 8
  • Selecting an item in datatable, going to next page and trying to perform action - the action is not performed on the item from previous page.

    Selecting an item in datatable, going to next page and trying to perform action - the action is not performed on the item from previous page.

    If we select an item on page 1 of datatable, go to page 2 and select 1 more item, then try to perform action (e.g. delete), the action is performed only on the 1 item from second page.

    See: https://i.imgur.com/apEHsr8.gif

    Edit: I've made a quick demo from version django-material-pro-1.1.3 and it works as expected there. I select 1 item on first page, 1 item on second page. Both items are accessible through JS and are passed to delete action.

    See: https://i.imgur.com/zFgqhNi.gif As you can see the same JS function returns only the 'current page' item on the up to date django-material version: https://i.imgur.com/KGHkQ0L.gif

    This is not intended, this is the standard behaviour of DataTables and I don't see why would it relate to materializecss itself.

    opened by emihir0 7
  • Bump json5 from 2.2.0 to 2.2.3

    Bump json5 from 2.2.0 to 2.2.3

    Bumps json5 from 2.2.0 to 2.2.3.

    Release notes

    Sourced from json5's releases.

    v2.2.3

    v2.2.2

    • Fix: Properties with the name __proto__ are added to objects and arrays. (#199) This also fixes a prototype pollution vulnerability reported by Jonathan Gregson! (#295).

    v2.2.1

    • Fix: Removed dependence on minimist to patch CVE-2021-44906. (#266)
    Changelog

    Sourced from json5's changelog.

    v2.2.3 [code, diff]

    v2.2.2 [code, diff]

    • Fix: Properties with the name __proto__ are added to objects and arrays. (#199) This also fixes a prototype pollution vulnerability reported by Jonathan Gregson! (#295).

    v2.2.1 [code, diff]

    • Fix: Removed dependence on minimist to patch CVE-2021-44906. (#266)
    Commits
    • c3a7524 2.2.3
    • 94fd06d docs: update CHANGELOG for v2.2.3
    • 3b8cebf docs(security): use GitHub security advisories
    • f0fd9e1 docs: publish a security policy
    • 6a91a05 docs(template): bug -> bug report
    • 14f8cb1 2.2.2
    • 10cc7ca docs: update CHANGELOG for v2.2.2
    • 7774c10 fix: add proto to objects and arrays
    • edde30a Readme: slight tweak to intro
    • 97286f8 Improve example in readme
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump decode-uri-component from 0.2.0 to 0.2.2

    Bump decode-uri-component from 0.2.0 to 0.2.2

    Bumps decode-uri-component from 0.2.0 to 0.2.2.

    Release notes

    Sourced from decode-uri-component's releases.

    v0.2.2

    • Prevent overwriting previously decoded tokens 980e0bf

    https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.1...v0.2.2

    v0.2.1

    • Switch to GitHub workflows 76abc93
    • Fix issue where decode throws - fixes #6 746ca5d
    • Update license (#1) 486d7e2
    • Tidelift tasks a650457
    • Meta tweaks 66e1c28

    https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.1

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump nth-check and cssnano

    Bump nth-check and cssnano

    Bumps nth-check and cssnano. These dependencies needed to be updated together. Updates nth-check from 1.0.2 to 2.1.1

    Release notes

    Sourced from nth-check's releases.

    v2.1.1

    • The ESM code had some issues that are now fixed aeeb067

    https://github.com/fb55/nth-check/compare/v2.1.0...v2.1.1

    v2.1.0

    What's Changed

    • nth-check is now a dual CommonJS and ESM module fb55/nth-check#206
    • With the new sequence and generate methods, it is now possible to generate a sequence of indices for a given formula fb55/nth-check#207

    Full Changelog: https://github.com/fb55/nth-check/compare/v2.0.1...v2.1.0

    v2.0.1

    Fixes:

    • Replace regex with hand-rolled parser for nth-expressions (#9) 9894c1d
      • Ensures parsing will always have linear time complexity.

    Internal:

    • chore(ci): Use GitHub Actions, Dependabot (#10) e02b4dd
    • Bump dependencies

    https://github.com/fb55/nth-check/compare/v2.0.0...v2.0.1

    v2.0.0

    • Port module to TS, Jest, ESLint

    Breaking:

    • The main export is now a default export.
    • The module now throws regular Errors on invalid selectors instead of SyntaxErrors.
    Commits

    Updates cssnano from 4.1.11 to 5.1.13

    Release notes

    Sourced from cssnano's releases.

    v5.1.13

    Bug Fixes

    v5.1.12

    Bug Fixes

    v5.1.11

    Bug Fixes

    • postcss-ordered-values: preserve constant values (32ab4d9b7d20d)

    v5.1.10

    Bug Fixes

    v5.1.9

    Bug Fixes

    • postcss-merge-longhand: preserve more color function fallbacks (712993cb4a4e0)

    v5.1.8

    Bug Fixes

    • postcss-convert-values: preserve percentage sign on IE 11 (57f060ad21734)

    v5.1.6

    Bug Fixes

    • preserve border color when merging border properties (5f5080a)

    v5.1.4

    Bug Fixes

    • postcss-merge-longhand: preserve custom property case (5428d5fc9)

    v5.1.3

    Bug Fixes

    • fix: do not merge declarations containing custom properties when it might create invalid declarations (2c699341)

    v5.1.2

    Bug fixes

    • preserve empty custom properties and ensure they work in Chrome (4ed39679)

    v5.1.0

    New Feature

    Add TypeScript types

    v5.0.17

    Patch Changes

    ... (truncated)

    Commits
    • d6e3d82 Publish cssnano 5.1.13
    • b92dbe3 Fix cssnanoPlugin type to return Processor not Plugin
    • 1b6e4ec chore: downgrade uvu to check if Node.js tests pass
    • 8ee9287 chore: update development dependencies
    • 48f0397 chore: update TypeScript and re-generate types
    • 789474f docs: update website dependencies
    • 335f532 chore: update prettier and reformat
    • 4a8f54a Publish cssnano 5.1.12
    • 0a3a133 fix(cssnano-preset-default): update css-declaration-sorter
    • 120a888 fix(postcss-merge-longhand): preserve hyphenated custom property case
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump yargs-parser from 5.0.0-security.0 to 5.0.1

    Bump yargs-parser from 5.0.0-security.0 to 5.0.1

    Bumps yargs-parser from 5.0.0-security.0 to 5.0.1.

    Changelog

    Sourced from yargs-parser's changelog.

    5.0.1 (2021-03-10)

    Bug Fixes

    • security: address GHSA-p9pc-299p-vxgp (#362) (1c417bd)

    4.2.1 (2017-01-02)

    Bug Fixes

    4.2.0 (2016-12-01)

    Bug Fixes

    • inner objects in configs had their keys appended to top-level key when dot-notation was disabled (#72) (0b1b5f9)

    Features

    • allow multiple arrays to be provided, rather than always combining (#71) (0f0fb2d)

    4.1.0 (2016-11-07)

    Features

    • apply coercions to default options (#65) (c79052b)
    • handle dot notation boolean options (#63) (02c3545)

    4.0.2 (2016-09-30)

    Bug Fixes

    • whoops, let's make the assign not change the Object key order (29d069a)

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump terser from 4.8.0 to 4.8.1

    Bump terser from 4.8.0 to 4.8.1

    Bumps terser from 4.8.0 to 4.8.1.

    Changelog

    Sourced from terser's changelog.

    v4.8.1 (backport)

    • Security fix for RegExps that should not be evaluated (regexp DDOS)
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • django.urls.exceptions.NoReverseMatch: Reverse for 'cameramodel_add' not found.

    django.urls.exceptions.NoReverseMatch: Reverse for 'cameramodel_add' not found.

    I've started trying to reimplement a UI with django-material again from scratch. I'm running into an error and I've put quite a lot of time into trying to figure it out, but I can't make progress.

    I assume cameramodel_add has the _add suffix automatically added by the ModelViewSet, but somehow the autoloading isn't working?

    • the parent app is camerahub
    • the app which contains an existing models.py is schema
    • the app which contains a skeleton Material project is ui

    The schema app used to contain a bunch of views I wrote myself, but I have now deleted everything apart from models.py and the migrations.

    # camerahub/urls.py
    
    from django.contrib import admin
    from django.urls import include, path
    from material.frontend import urls as frontend_urls
    
    urlpatterns = [
        path('', include(frontend_urls)),
        path('', include('schema.urls')),
        path('api/', include('api.urls')),
        path('admin/', admin.site.urls),
        path('accounts/', include('django_registration.backends.activation.urls')),
        path('accounts/', include('django.contrib.auth.urls')),
        path('', include('django_prometheus.urls')),
        path('ratings/', include('star_ratings.urls', namespace='ratings')),
        path('health/', include('health_check.urls')),
    ]
    
    # ui/urls.py
    
    from unicodedata import name
    from django.urls import path, include
    from django.views import generic
    
    from . import views
    
    
    urlpatterns = [
        path('', generic.TemplateView.as_view(template_name="index.html"), name="index"),
        path('cameramodel/', include(views.CameraModelViewSet().urls)),
    ]
    
    # ui/views.py
    
    from material.frontend.views import ModelViewSet
    
    from schema import models
    
    # class MyModelViewSet(ModelViewSet):
    #    model = models.MyModel
    
    class CameraModelViewSet(ModelViewSet):
        model = models.CameraModel
    

    Trying to browse to http://127.0.0.1:8000/ui/cameramodel/ I get

    Internal Server Error: /ui/cameramodel/
    Traceback (most recent call last):
      File "/home/jonathan/.cache/pypoetry/virtualenvs/camerahub-FNy4MBnC-py3.10/lib/python3.10/site-packages/django/core/handlers/exception.py", line 47, in inner
        response = get_response(request)
      File "/home/jonathan/.cache/pypoetry/virtualenvs/camerahub-FNy4MBnC-py3.10/lib/python3.10/site-packages/django/core/handlers/base.py", line 181, in _get_response
        response = wrapped_callback(request, *callback_args, **callback_kwargs)
      File "/home/jonathan/.cache/pypoetry/virtualenvs/camerahub-FNy4MBnC-py3.10/lib/python3.10/site-packages/django/views/generic/base.py", line 70, in view
        return self.dispatch(request, *args, **kwargs)
      File "/home/jonathan/.cache/pypoetry/virtualenvs/camerahub-FNy4MBnC-py3.10/lib/python3.10/site-packages/django/utils/decorators.py", line 43, in _wrapper
        return bound_method(*args, **kwargs)
      File "/home/jonathan/.cache/pypoetry/virtualenvs/camerahub-FNy4MBnC-py3.10/lib/python3.10/site-packages/django/contrib/auth/decorators.py", line 21, in _wrapped_view
        return view_func(request, *args, **kwargs)
      File "/home/jonathan/.cache/pypoetry/virtualenvs/camerahub-FNy4MBnC-py3.10/lib/python3.10/site-packages/material/frontend/views/list.py", line 531, in dispatch
        return super(ListModelView, self).dispatch(request, *args, **kwargs)
      File "/home/jonathan/.cache/pypoetry/virtualenvs/camerahub-FNy4MBnC-py3.10/lib/python3.10/site-packages/material/frontend/views/list.py", line 357, in dispatch
        return handler(request, *args, **kwargs)
      File "/home/jonathan/.cache/pypoetry/virtualenvs/camerahub-FNy4MBnC-py3.10/lib/python3.10/site-packages/material/frontend/views/list.py", line 315, in get
        context = self.get_context_data()
      File "/home/jonathan/.cache/pypoetry/virtualenvs/camerahub-FNy4MBnC-py3.10/lib/python3.10/site-packages/material/frontend/views/list.py", line 521, in get_context_data
        kwargs['add_url'] = reverse('{}:{}_add'.format(opts.app_label, opts.model_name))
      File "/home/jonathan/.cache/pypoetry/virtualenvs/camerahub-FNy4MBnC-py3.10/lib/python3.10/site-packages/django/urls/base.py", line 86, in reverse
        return resolver._reverse_with_prefix(view, prefix, *args, **kwargs)
      File "/home/jonathan/.cache/pypoetry/virtualenvs/camerahub-FNy4MBnC-py3.10/lib/python3.10/site-packages/django/urls/resolvers.py", line 698, in _reverse_with_prefix
        raise NoReverseMatch(msg)
    django.urls.exceptions.NoReverseMatch: Reverse for 'cameramodel_add' not found. 'cameramodel_add' is not a valid view function or pattern name.
    "GET /ui/cameramodel/ HTTP/1.1" 500 117163
    

    Originally posted by @djjudas21 in https://github.com/viewflow/django-material/issues/513#issuecomment-1110268057

    opened by djjudas21 0
Releases(1.1.0)
  • 1.1.0(Oct 27, 2017)

    Update MaterializeCSS to 0.100.2 Forms - Localize DateTime picker Forms - Add clear button on ajax autocomplete fields Frontend - Allow to set ordering in the list view from viewset Frontend - Fix permission check for the create view Admin - Fix inline formset errors Admin - Add file download link on the file fields

    Source code(tar.gz)
    Source code(zip)
  • 1.0.0(May 29, 2017)

    • Django 1.11 support
    • Update MaterializeCSS to 0.98.2
    • Fix missing badges in shipped MaterializeCSS build
    • Localization added: German/French/Spanish/Korean/Chinese
    • Forms - Fix allows using html in a help_text of widgets
    • Frontend - Improved Login/Logout/403/404/500 service screen templates
    • Admin - fix application list layout
    Source code(tar.gz)
    Source code(zip)
  • 0.7.0(Mar 13, 2016)

    The last alpha release.

    • Forms - Fix controls in new forms in formsets
    • Forms - New way to append or override widget attrs in template
    • Forms - Removed group_class, add_group_class, add_label_class redifinable parts
    • Admin - Match table styles to google guidelines.
    • Admin - Start to work on admin widget support improvements http://forms.viewflow.io/demo/widget/admin/
    • Admin - Fix scrollbar
    • Frontend - Switch from fontawesome to material-design-iconic font
    • Frontend - Fix broken links on user navigation menu
    • Frontend - Modules are refactored to AppConfig mixins
    Source code(tar.gz)
    Source code(zip)
  • 0.3.0(May 11, 2015)

    • Migrated to new version of materializecss framework
    • List all applications in admin navigation menu
    • Added breadcrumbs in admin
    • Custom material css and js cleanup
    • New Frontend template
    • Various widget rendering fixes (splitdatetime, empty selects)
    Source code(tar.gz)
    Source code(zip)
  • 0.2.0(Apr 3, 2015)

Django Smuggler is a pluggable application for Django Web Framework that helps you to import/export fixtures via the automatically-generated administration interface.

Django Smuggler Django Smuggler is a pluggable application for Django Web Framework to easily dump/load fixtures via the automatically-generated admin

semente 373 Dec 26, 2022
📱 An extension for Django admin that makes interface mobile-friendly. Merged into Django 2.0

Django Flat Responsive django-flat-responsive is included as part of Django from version 2.0! ?? Use this app if your project is powered by an older D

elky 248 Sep 2, 2022
An improved django-admin-tools dashboard for Django projects

django-fluent-dashboard The fluent_dashboard module offers a custom admin dashboard, built on top of django-admin-tools (docs). The django-admin-tools

django-fluent 326 Nov 9, 2022
A Django app for easily adding object tools in the Django admin

Django Object Actions If you've ever tried making admin object tools you may have thought, "why can't this be as easy as making Django Admin Actions?"

Chris Chang 524 Dec 26, 2022
Legacy django jet rebooted , supports only Django 3

Django JET Reboot Rebooting the original project : django-jet. Django Jet is modern template for Django admin interface with improved functionality. W

null 215 Dec 31, 2022
Disable dark mode in Django admin user interface in Django 3.2.x.

Django Non Dark Admin Disable or enable dark mode user interface in Django admin panel (Django==3.2). Installation For install this app run in termina

Artem Galichkin 6 Nov 23, 2022
Modern responsive template for the Django admin interface with improved functionality. We are proud to announce completely new Jet. Please check out Live Demo

Django JET Modern template for Django admin interface with improved functionality Attention! NEW JET We are proud to announce completely new Jet. Plea

Geex Arts 3.4k Dec 29, 2022
Drop-in replacement of Django admin comes with lots of goodies, fully extensible with plugin support, pretty UI based on Twitter Bootstrap.

Xadmin Drop-in replacement of Django admin comes with lots of goodies, fully extensible with plugin support, pretty UI based on Twitter Bootstrap. Liv

差沙 4.7k Dec 31, 2022
A Django app that creates automatic web UIs for Python scripts.

Wooey is a simple web interface to run command line Python scripts. Think of it as an easy way to get your scripts up on the web for routine data anal

Wooey 1.9k Jan 1, 2023
A jazzy skin for the Django Admin-Interface (official repository).

Django Grappelli A jazzy skin for the Django admin interface. Grappelli is a grid-based alternative/extension to the Django administration interface.

Patrick Kranzlmueller 3.4k Dec 31, 2022
A Django admin theme using Twitter Bootstrap. It doesn't need any kind of modification on your side, just add it to the installed apps.

django-admin-bootstrapped A Django admin theme using Bootstrap. It doesn't need any kind of modification on your side, just add it to the installed ap

null 1.6k Dec 28, 2022
django's default admin interface made customizable. popup windows replaced by modals. :mage: :zap:

django-admin-interface django-admin-interface is a modern responsive flat admin interface customizable by the admin itself. Features Beautiful default

Fabio Caccamo 1.3k Dec 31, 2022
Extendable, adaptable rewrite of django.contrib.admin

django-admin2 One of the most useful parts of django.contrib.admin is the ability to configure various views that touch and alter data. django-admin2

Jazzband 1.2k Dec 29, 2022
Modern theme for Django admin interface

Django Suit Modern theme for Django admin interface. Django Suit is alternative theme/skin/extension for Django administration interface. Project home

Kaspars Sprogis 2.2k Dec 29, 2022
Jazzy theme for Django

Django jazzmin (Jazzy Admin) Drop-in theme for django admin, that utilises AdminLTE 3 & Bootstrap 4 to make yo' admin look jazzy Installation pip inst

David Farrington 1.2k Jan 8, 2023
With Django Hijack, admins can log in and work on behalf of other users without having to know their credentials.

Django Hijack With Django Hijack, admins can log in and work on behalf of other users without having to know their credentials. Docs See http://django

null 1.2k Jan 5, 2023
Django application and library for importing and exporting data with admin integration.

django-import-export django-import-export is a Django application and library for importing and exporting data with included admin integration. Featur

null 2.6k Jan 7, 2023
:honey_pot: A fake Django admin login screen page.

django-admin-honeypot django-admin-honeypot is a fake Django admin login screen to log and notify admins of attempted unauthorized access. This app wa

Derek Payton 907 Dec 31, 2022
"Log in as user" for the Django admin.

django-loginas About "Login as user" for the Django admin. loginas supports Python 3 only, as of version 0.4. If you're on 2, use 0.3.6. Installing dj

Stavros Korokithakis 326 Dec 3, 2022