16 lines
467 B
Python
16 lines
467 B
Python
from django.utils.encoding import force_str
|
|
|
|
|
|
def text_value(value):
|
|
"""Force a value to text, render None as an empty string."""
|
|
if value is None:
|
|
return ""
|
|
return force_str(value)
|
|
|
|
|
|
def text_concat(*args, **kwargs):
|
|
"""Concatenate several values as a text string with an optional separator."""
|
|
separator = text_value(kwargs.get("separator", ""))
|
|
values = filter(None, [text_value(v) for v in args])
|
|
return separator.join(values)
|