What's In a UI?

User Interfaces All the Way Down

Unless one strictly builds command line tools or API integrations, a Django developer will always be working with or on a user interface.

Web applications can be quite complex with many layers of interfaces for different users in different contexts.

Even command line tools have something of a user interface. And APIs should have some sort of documentation interface.

For the purpose of this discussion, we're talking about the visible, point and click interface of a Web application.

What's In a UI?

Although user interfaces may vary greatly, there are a number of overall elements that are generally used in every UI:

  • Lists of records.
  • The detail of an individual record.
  • Forms for creating, modifying and deleting an individual record.

Within these there are lots of sub-elements:

  • Search, sort, filtering.
  • Fieldsets, tab interfaces, form fields.

SuperDjango UI

The Django Admin is meant to provide a user interface for administrators and staff. It can be bent for use by customers or users, but the outcome is seldom full-featured and lots of hacks are often necessary.

SuperDjango's UI component was created to be the Django Admin for regular users. It handles lots of UI elements simply by defining some configuration options for a model -- just like the ModelAdmin.

It supports:

  • Lists of records.
  • The detail of an individual record.
  • Forms for creating, modifying and deleting an individual record.
  • Search (and AJAX search), sort, filtering.
  • Fieldsets, tab interfaces, form fields, dynamic (AJAX) lookups, chained dropdowns.

As of this writing, there are still lots of features to be built out, but SuperDjango UI is in use with most of our own projects and is under continual development and improvement.



Posted in UI by Shawn Davis, October 15, 2020