Rename obj to object; clean up docstrings

This commit is contained in:
Jeremy Stretch 2020-03-26 21:46:56 -04:00
parent af302d8368
commit 8a3ebf64bc
3 changed files with 15 additions and 11 deletions

View File

@ -329,7 +329,7 @@ Additionally, a `render()` method is available for convenience. This method acce
When a PluginTemplateExtension is instantiated, context data is assigned to `self.context`. Available data include:
* `obj` - The object being viewed
* `object` - The object being viewed
* `request` - The current request
* `settings` - Global NetBox settings
* `config` - Plugin-specific configuration parameters

View File

@ -75,29 +75,33 @@ class PluginConfig(AppConfig):
class PluginTemplateExtension:
"""
This class is used to register plugin content to be injected into core NetBox templates.
It contains methods that are overridden by plugin authors to return template content.
This class is used to register plugin content to be injected into core NetBox templates. It contains methods
that are overridden by plugin authors to return template content.
The `model` attribute on the class defines the which model detail page this class renders
content for. It should be set as a string in the form '<app_label>.<model_name>'.
The `model` attribute on the class defines the which model detail page this class renders content for. It
should be set as a string in the form '<app_label>.<model_name>'. render() provides the following context data:
* object - The object being viewed
* request - The current request
* settings - Global NetBox settings
* config - Plugin-specific configuration parameters
"""
model = None
def __init__(self, context):
self.context = context
def render(self, template, extra_context=None):
def render(self, template_name, extra_context=None):
"""
Convenience method for rendering the provided template name. The detail page object is automatically
passed into the template context as `obj` and the original detail page's context is available as
`obj_context`. An additional context dictionary may be passed as `extra_context`.
Convenience method for rendering the specified Django template using the default context data. An additional
context dictionary may be passed as `extra_context`.
"""
if extra_context is None:
extra_context = {}
elif not isinstance(extra_context, dict):
raise TypeError("extra_context must be a dictionary")
return get_template(template).render({**self.context, **extra_context})
return get_template(template_name).render({**self.context, **extra_context})
def left_page(self):
"""

View File

@ -15,7 +15,7 @@ def _get_registered_content(obj, method, template_context):
"""
html = ''
context = {
'obj': obj,
'object': obj,
'request': template_context['request'],
'settings': template_context['settings'],
}