Adding custom views to admin panel in django - django

I'm generating analytics using mongodb, now my functionality views are ready. Now I would like to move the views to admin panel. How do i do it, i'm using pymongo for interacting with mongodb.

Adding views to admin sites.

Related

Using Django framework only with admin backend without any apps

I want to use Django only with admin backend without any apps. So actually all I want to do is to use the admin backend to CRUD my database. Now apparently the admin backend does not have a models.py and no views.py.
Do I really need the models.py from an app, or can I easily use only the admin backend to CRUD my database. How would I do this, add a models.py to the admin backend?
First of all, if you want to CRUD something, you will need a model so you can interact with your database (SQLite, Postgres, etc).
However, a model belongs to an app, once this is the core of Django. So, take a look at https://docs.djangoproject.com/en/2.2/topics/db/models/ where you can read more about that.
If you need a tutorial, take a look at https://docs.djangoproject.com/en/2.1/intro/tutorial02/
In summary, yes, you need an app. However, you do not need a view, once there will be no router, I suppose. Just expose your model to the admin, for instance:
from django.contrib import admin
from .models import YourModel
admin.site.register(YourModel)
Hope it helps

How to remove Wagtail Core, Images, Documents from Django Admin

I have a project that uses a Django app and a Wagtail App. In my Django admin (localhost/django-admin/) I get Wagtail panels that I want to hide. How could I do that?
Unregistering Wagtail models from the Django admin are basically the same as unregistering Django models. Had to check where the models are imported from.
Note: Make sure your own apps come after the django and wagtail core apps.
https://books.agiliq.com/projects/django-admin-cookbook/en/latest/remove_default.html
from wagtail.images.models import Image
from wagtail.core.models import Site, Page
from wagtail.documents.models import Document
admin.site.unregister(Document)
admin.site.unregister(Site)
admin.site.unregister(Page)
admin.site.unregister(Image)

Django views accessible in the admin site

I would like to embed front end views in my django admin site at any possible specified locale, maybe in a class or site admin dashboard;anywhere I feel is the best option.. Tried out a few git projects but seems they are not compatible with current django versions..any one offering any idea?!
The Django Admin site is intentionally a separate site, with its own views.
In any app you can make functions that compute various values; but the Admin for that app will need to define its own views, using whatever functions you like.

Custom Authentication for Admin in Django

I'm writing a custom Django admin site for my vendors to log into. This is to be separate from the regular Django admin site. My question: How do I override the admin authentication to also look from users from a vendor's table?
When you develop your own admin views, you should take a look into django´s decorators #login_required and #user_passes_test, and also the permission system.
So you can handle what your user are able to do and what not. Have a look into the Django Docs https://docs.djangoproject.com/en/1.8/topics/auth/default/
Hope this helps.

How to keep Django Flat Pages under version control?

Django flatpages is a very basic CMS
Django-reversions enables a backup of models past versions access in the admin https://github.com/etianen/django-reversion
How can I keep the flatpages app models under reversion? The models are not explicitly set in my code but come as a built in django feature that is autodiscovered by the admin.
You can register third party models like this
from django.contrib.flatpages.models import Flatpage
from reversion.helpers import patch_admin
patch_admin(Flatpage)
See docs