-
Django 提供了許多實用函數(特別是在
django.utils
中),它們將字符串作為第一個參數並對該字符串執行某些操作。這些函數由模板過濾器以及直接在其他代碼中使用。如果您編寫自己的類似函數並處理翻譯,您將麵臨第一個參數是惰性翻譯對象時該怎麽辦的問題。您不想立即將其轉換為字符串,因為您可能在視圖之外使用此函數(因此當前線程的區域設置將不正確)。
對於這種情況,請使用
django.utils.functional.keep_lazy()
裝飾器。它修改了函數,以便if
以惰性翻譯作為其參數之一調用它,函數評估被延遲,直到需要將其轉換為字符串。例如:
from django.utils.functional import keep_lazy, keep_lazy_text def fancy_utility_function(s, ...): # Do some conversion on string 's' ... fancy_utility_function = keep_lazy(str)(fancy_utility_function) # Or more succinctly: @keep_lazy(str) def fancy_utility_function(s, ...): ...
keep_lazy()
裝飾器采用一些額外的參數(*args
)來指定原始函數可以返回的類型。一個常見的用例是具有返回文本的函數。對於這些,您可以將str
類型傳遞給keep_lazy
(或使用下一節中說明的keep_lazy_text()
使用這個裝飾器意味著你可以編寫你的函數並假設輸入是一個正確的字符串,然後在最後添加對惰性翻譯對象的支持。
本文介紹 django.utils.functional.keep_lazy
的用法。
聲明
keep_lazy(func, *resultclasses)[source]
相關用法
- Python Django keep_lazy_text用法及代碼示例
- Python dict keys()用法及代碼示例
- Python cudf.core.column.string.StringMethods.is_vowel用法及代碼示例
- Python torch.distributed.rpc.rpc_async用法及代碼示例
- Python torch.nn.InstanceNorm3d用法及代碼示例
- Python sklearn.cluster.MiniBatchKMeans用法及代碼示例
- Python pandas.arrays.IntervalArray.is_empty用法及代碼示例
- Python tf.compat.v1.distributions.Multinomial.stddev用法及代碼示例
- Python numpy.less()用法及代碼示例
- Python Matplotlib.figure.Figure.add_gridspec()用法及代碼示例
- Python tf.compat.v1.distribute.MirroredStrategy.experimental_distribute_dataset用法及代碼示例
- Python Django File.save用法及代碼示例
- Python Sympy Permutation.list()用法及代碼示例
- Python dask.dataframe.Series.apply用法及代碼示例
- Python networkx.algorithms.shortest_paths.weighted.all_pairs_dijkstra_path用法及代碼示例
- Python scipy.ndimage.binary_opening用法及代碼示例
- Python pyspark.pandas.Series.dropna用法及代碼示例
- Python torchaudio.transforms.Fade用法及代碼示例
- Python dask.dataframe.to_records用法及代碼示例
- Python arcgis.gis._impl._profile.ProfileManager.save_as用法及代碼示例
- Python pyspark.pandas.groupby.SeriesGroupBy.unique用法及代碼示例
- Python distributed.protocol.serialize.register_generic用法及代碼示例
- Python numpy.polynomial.hermite.hermmul用法及代碼示例
- Python tf.compat.v1.data.TFRecordDataset.interleave用法及代碼示例
- Python arcgis.raster.functions.ccdc_analysis用法及代碼示例
注:本文由純淨天空篩選整理自djangoproject.com大神的英文原創作品 django.utils.functional.keep_lazy。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。