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
	
	 Simon Willison
						Simon Willison