I have just installed Django 3.2 and run Bokeh 2.3.0 and channels 2.4.0. With Django 3.1.8 things work. With Django 3.2 there is an error at startup (config check). The Django team added a test in …django/apps/config.py checking whether the app label is an identifier, and ‘bokeh.server.django’ fails that test. It looks like usual app labels do not have periods and so they are valid identifiers, example labels are:
bootstrap3, help_yms, home_page, utilities, accounts, projects, dashboard_1, pm_poll, django_markdown2, django_tables2, admin, auth, contenttypes, sessions, messages, staticfiles, django_extensions, django_filters, debug_toolbar, sliders, stepup, dashboard_yield, logs, channels
so ‘bokeh.server.django’ doesn’t fit the pattern.
The Django team added the identifier requirement for the following reason (see ticket): https://code.djangoproject.com/ticket/32285
So Bokeh would need to change the label to be an identifier and fix the resulting issues.
How is this being initiated? Thanks in advance.
name = 'bokeh.server.django'
label = 'bokeh_server_django'
If fact, we could drop label altogether, as it is inferred from name. However, that would give label == "django", which may potentially conflict in a thirdparty app.