A base URL can now be configured which is, potentially, prepended to an asset URL. This allows a CDN, or caching server, to front static asset requests, taking load off of the contentstore and speeding up page load times. Asset URL generation respects locked vs unlocked assets, and will not generate links to locked assets that would traverse a CDN (even though the authorization component of the contentserver middleware wouldn't allow those links to work anyways).
31 lines
835 B
Python
31 lines
835 B
Python
"""
|
|
Django admin page for AssetBaseUrlConfig, which allows you to set the base URL
|
|
that gets prepended to asset URLs in order to serve them from, say, a CDN.
|
|
"""
|
|
from django.contrib import admin
|
|
|
|
from config_models.admin import ConfigurationModelAdmin
|
|
from .models import AssetBaseUrlConfig
|
|
|
|
|
|
class AssetBaseUrlConfigAdmin(ConfigurationModelAdmin):
|
|
"""
|
|
Basic configuration for asset base URL.
|
|
"""
|
|
list_display = [
|
|
'base_url'
|
|
]
|
|
|
|
def get_list_display(self, request):
|
|
"""
|
|
Restore default list_display behavior.
|
|
|
|
ConfigurationModelAdmin overrides this, but in a way that doesn't
|
|
respect the ordering. This lets us customize it the usual Django admin
|
|
way.
|
|
"""
|
|
return self.list_display
|
|
|
|
|
|
admin.site.register(AssetBaseUrlConfig, AssetBaseUrlConfigAdmin)
|