kopia lustrzana https://github.com/simonw/datasette
git commit -m "datasette --template-dir=mytemplates/" argument
You can now pass an additional argument specifying a directory to look for custom templates in. Datasette will fall back on the default templates if a template is not found in that directory. Refs #12, #153sanic-07
rodzic
ffa77f62b4
commit
7ff51598c4
|
|
@ -771,7 +771,7 @@ class Datasette:
|
|||
def __init__(
|
||||
self, files, num_threads=3, cache_headers=True, page_size=100,
|
||||
max_returned_rows=1000, sql_time_limit_ms=1000, cors=False,
|
||||
inspect_data=None, metadata=None, sqlite_extensions=None):
|
||||
inspect_data=None, metadata=None, sqlite_extensions=None, template_dir=None):
|
||||
self.files = files
|
||||
self.num_threads = num_threads
|
||||
self.executor = futures.ThreadPoolExecutor(
|
||||
|
|
@ -786,6 +786,7 @@ class Datasette:
|
|||
self.metadata = metadata or {}
|
||||
self.sqlite_functions = []
|
||||
self.sqlite_extensions = sqlite_extensions or []
|
||||
self.template_dir = template_dir
|
||||
|
||||
def asset_urls(self, key):
|
||||
for url_or_dict in (self.metadata.get(key) or []):
|
||||
|
|
@ -892,10 +893,12 @@ class Datasette:
|
|||
|
||||
def app(self):
|
||||
app = Sanic(__name__)
|
||||
template_paths = []
|
||||
if self.template_dir:
|
||||
template_paths.append(self.template_dir)
|
||||
template_paths.append(str(app_root / 'datasette' / 'templates'))
|
||||
self.jinja_env = Environment(
|
||||
loader=FileSystemLoader([
|
||||
str(app_root / 'datasette' / 'templates')
|
||||
]),
|
||||
loader=FileSystemLoader(template_paths),
|
||||
autoescape=True,
|
||||
)
|
||||
self.jinja_env.filters['escape_css_string'] = escape_css_string
|
||||
|
|
|
|||
|
|
@ -156,7 +156,8 @@ def package(files, tag, metadata, extra_options, branch, **extra_metadata):
|
|||
)
|
||||
@click.option('--inspect-file', help='Path to JSON file created using "datasette build"')
|
||||
@click.option('-m', '--metadata', type=click.File(mode='r'), help='Path to JSON file containing license/source metadata')
|
||||
def serve(files, host, port, debug, reload, cors, page_size, max_returned_rows, sql_time_limit_ms, sqlite_extensions, inspect_file, metadata):
|
||||
@click.option('-t', '--template-dir', type=click.Path(exists=True, file_okay=False, dir_okay=True), help='Path to directory containing custom templates')
|
||||
def serve(files, host, port, debug, reload, cors, page_size, max_returned_rows, sql_time_limit_ms, sqlite_extensions, inspect_file, metadata, template_dir):
|
||||
"""Serve up specified SQLite database files with a web UI"""
|
||||
if reload:
|
||||
import hupper
|
||||
|
|
@ -181,6 +182,7 @@ def serve(files, host, port, debug, reload, cors, page_size, max_returned_rows,
|
|||
inspect_data=inspect_data,
|
||||
metadata=metadata_data,
|
||||
sqlite_extensions=sqlite_extensions,
|
||||
template_dir=template_dir,
|
||||
)
|
||||
# Force initial hashing/table counting
|
||||
ds.inspect()
|
||||
|
|
|
|||
Ładowanie…
Reference in New Issue