Giter Site home page Giter Site logo

django_tree_menu_example's Introduction

django_tree_menu

Django Support

Features

  • Compatible with Django 1.10 and Django >=2.0
  • Any number of nesting levels
  • Easy to add to template
  • Bootstrap 4 example with 3-level menu
  • Doesn't use third-party libraries

Usage

  1. Migrations at first

python manage.py makemigrations menu

python manage.py migrate

  1. Create Menu in admin

Menu admin screenshot

  1. Create child Menu Items for this Menu in admin

Menu items admin screenschot

  1. Optionally add subitems to this Menu Item. In this case menu field must be blank

Menu subitem admin screenshot

  1. In begining of your template add {% load draw_menu %}.

  2. Add this where your Menu should be in template {% draw_menu 'main' %} Where main is your Menu slug.

Examples

  1. Create Menu with slug main and some Menu Items for it
  2. Go to /templates/home.html
  3. Delete comments at lines 5 and 8
  4. python manage.py runserver and go to 127.0.0.1:8000

django_tree_menu_example's People

Contributors

bluzir avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

django_tree_menu_example's Issues

Don't work over Django 3.2

Here is runserver log
D:\Django\django_tree_menu_example-master>python manage.py runserver
Watching for file changes with StatReloader
Exception in thread django-main-thread:
Traceback (most recent call last):
File "C:\Users\AboKhaled\AppData\Local\Programs\Python\Python38-32\lib\threading.py", line 932, in _bootstrap_inner
self.run()
File "C:\Users\AboKhaled\AppData\Local\Programs\Python\Python38-32\lib\threading.py", line 870, in run
self._target(*self.args, **self.kwargs)
File "C:\Users\AboKhaled\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\utils\autoreload.py", line 53, in wrapper
fn(*args, **kwargs)
File "C:\Users\AboKhaled\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\core\management\commands\runserver.py", line 109, in inner_run
autoreload.raise_last_exception()
File "C:\Users\AboKhaled\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\utils\autoreload.py", line 76, in raise_last_exception
raise exception[1]
File "C:\Users\AboKhaled\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\core\management_init
.py", line 357, in execute
autoreload.check_errors(django.setup)()
File "C:\Users\AboKhaled\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\utils\autoreload.py", line 53, in wrapper
fn(*args, **kwargs)
File "C:\Users\AboKhaled\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django_init
.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "C:\Users\AboKhaled\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\apps\registry.py", line 91, in populate
app_config = AppConfig.create(entry)
File "C:\Users\AboKhaled\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\apps\config.py", line 90, in create
module = import_module(entry)
File "C:\Users\AboKhaled\AppData\Local\Programs\Python\Python38-32\lib\importlib_init
.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1014, in _gcd_import
File "", line 991, in find_and_load
File "", line 973, in find_and_load_unlocked
ModuleNotFoundError: No module named 'debug_toolbar'
Traceback (most recent call last):
File "manage.py", line 22, in
execute_from_command_line(sys.argv)
File "C:\Users\AboKhaled\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\core\management_init
.py", line 401, in execute_from_command_line
utility.execute()
File "C:\Users\AboKhaled\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\core\management_init
.py", line 395, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "C:\Users\AboKhaled\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\core\management\base.py", line 328, in run_from_argv
self.execute(*args, **cmd_options)
File "C:\Users\AboKhaled\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\core\management\commands\runserver.py", line 60, in execute
super().execute(*args, **options)
File "C:\Users\AboKhaled\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\core\management\base.py", line 369, in execute
output = self.handle(*args, **options)
File "C:\Users\AboKhaled\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\core\management\commands\runserver.py", line 95, in handle
self.run(**options)
File "C:\Users\AboKhaled\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\core\management\commands\runserver.py", line 102, in run
autoreload.run_with_reloader(self.inner_run, **options)
File "C:\Users\AboKhaled\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\utils\autoreload.py", line 599, in run_with_reloader
start_django(reloader, main_func, *args, **kwargs)
File "C:\Users\AboKhaled\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\utils\autoreload.py", line 584, in start_django
reloader.run(django_main_thread)
File "C:\Users\AboKhaled\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\utils\autoreload.py", line 299, in run
self.run_loop()
File "C:\Users\AboKhaled\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\utils\autoreload.py", line 305, in run_loop
next(ticker)
File "C:\Users\AboKhaled\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\utils\autoreload.py", line 345, in tick
for filepath, mtime in self.snapshot_files():
File "C:\Users\AboKhaled\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\utils\autoreload.py", line 361, in snapshot_files
for file in self.watched_files():
File "C:\Users\AboKhaled\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\utils\autoreload.py", line 260, in watched_files
yield from iter_all_python_module_files()
File "C:\Users\AboKhaled\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\utils\autoreload.py", line 105, in iter_all_python_module_files
return iter_modules_and_files(modules, frozenset(_error_files))
File "C:\Users\AboKhaled\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\utils\autoreload.py", line 141, in iter_modules_and_files
resolved_path = path.resolve(strict=True).absolute()
File "C:\Users\AboKhaled\AppData\Local\Programs\Python\Python38-32\lib\pathlib.py", line 1172, in resolve
s = self._flavour.resolve(self, strict=strict)
File "C:\Users\AboKhaled\AppData\Local\Programs\Python\Python38-32\lib\pathlib.py", line 200, in resolve
return self._ext_to_normal(_getfinalpathname(s))
OSError: [WinError 123] The filename, directory name, or volume label syntax is incorrect: ''

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.