Skip to content

Commit 640a394

Browse files
committed
custom admin site url
1 parent d7266ba commit 640a394

4 files changed

Lines changed: 16 additions & 4 deletions

File tree

README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -373,6 +373,12 @@ If your app `streamblocks` located not in project root directory, you need to re
373373
STREAMFIELD_STREAMBLOCKS_APP_PATH = 'yourapps.streamblocks'
374374
```
375375

376+
### STREAMFIELD_BASE_ADMIN_URL
377+
If you change default admin site url ('/admin/'), reflect that in settings:
378+
```python
379+
STREAMFIELD_BASE_ADMIN_URL = '/myadmin/'
380+
```
381+
376382
### STREAMFIELD_SHOW_ADMIN_HELP_TEXT
377383
If you want to hide "Help" link in admin, above the "Add new block" link.
378384
Set:

streamfield/fields.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,12 @@
55
from django.contrib.admin.options import FORMFIELD_FOR_DBFIELD_DEFAULTS
66
from django.conf import settings
77
from .base import StreamObject
8-
from .settings import BLOCK_OPTIONS, SHOW_ADMIN_HELP_TEXT, DELETE_BLOCKS_FROM_DB
8+
from .settings import (
9+
BLOCK_OPTIONS,
10+
SHOW_ADMIN_HELP_TEXT,
11+
DELETE_BLOCKS_FROM_DB,
12+
BASE_ADMIN_URL
13+
)
914

1015

1116
class StreamFieldWidget(Widget):
@@ -34,6 +39,7 @@ def __init__(self, attrs=None):
3439
attrs["model_list_info"] = json.dumps(model_list_info)
3540
attrs['show_admin_help_text'] = SHOW_ADMIN_HELP_TEXT
3641
attrs['delete_blocks_from_db'] = DELETE_BLOCKS_FROM_DB
42+
attrs['base_admin_url'] = BASE_ADMIN_URL
3743
super().__init__(attrs)
3844

3945
def format_value(self, value):

streamfield/settings.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
from importlib import import_module
2-
31
from django.conf import settings
42

53
BLOCK_OPTIONS = getattr(settings, "STREAMFIELD_BLOCK_OPTIONS", {})
64
SHOW_ADMIN_HELP_TEXT = getattr(settings, "STREAMFIELD_SHOW_ADMIN_HELP_TEXT", True)
75
DELETE_BLOCKS_FROM_DB = getattr(settings, "STREAMFIELD_DELETE_BLOCKS_FROM_DB", True)
6+
BASE_ADMIN_URL = getattr(settings, "STREAMFIELD_BASE_ADMIN_URL", '/admin/')

streamfield/static/streamfield/js/streamfield_widget.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
var initial_data = text_area.innerHTML;
1919
var model_list_info = text_area.getAttribute('model_list_info');
2020
var delete_blocks_from_db = Boolean(text_area.hasAttribute('delete_blocks_from_db'));
21+
var base_admin_url = text_area.getAttribute('base_admin_url');
2122

2223
var data = {
2324
stream: JSON.parse(initial_data), // [{model_name: ..., id: ...}, ...]
@@ -110,7 +111,7 @@
110111
return Math.random().toString(36).substring(7);
111112
},
112113
block_admin_url: function(block) {
113-
return '/admin/streamblocks/' + this.model_name_lower(block) + '/';
114+
return base_admin_url + 'streamblocks/' + this.model_name_lower(block) + '/';
114115
},
115116
instance_admin_render_url: function(block, instance_id) {
116117
return '/streamfield/admin-instance/' + this.model_name_lower(block) + '/' + instance_id;

0 commit comments

Comments
 (0)