Django с использованием глобальных переменных
Я думаю, что этот вопрос может быть применен за пределами Django, но Django - это все, что я знаю: как работать с глобальными "ресурсными" переменными?
Я параллельно работаю над созданием структуры тестирования для этого учебного проекта и обнаружил, что копирую вставку меток полей и текста справки, чтобы убедиться в их достоверности. В дальнейшем, каждый раз, когда мне нужно изменить метку, я должен вручную изменять ее и в моей тестовой среде, что противоречит основным принципам программирования. Например,
# My ModelForm class in /my/path/models.py
class MyForm(ModelForm):
def clean_field(self):
data = self.cleaned_data[<my_field>]
...
return data
class Meta:
model = MyModel
fields = [<field_a>, <field_b>, ...] # copy-paste
labels = {<field_a>: <label_a>, ...} # copy-paste
help_texts = {<field_a>: <help_text_a>, ...} # copy-paste
----
# Corresponding SimpleTestCase in /my/path/test_forms.py
class MyFormTest(SimpleTestCase):
def setUp(self):
self.form = MyForm()
def test_field_a_form_label(self):
expected = <label_a> # copy-paste
fl = self.form.fields[<field_a>].label # copy-paste
self.assertTrue(fl is None or fl == expected)
...
В Android ваш проект содержит каталог 'resource', в котором хранятся все статические значения (текст справки, заголовки и т.д.), используемые во всем проекте. К этому каталогу можно получить доступ из любого места через Context, создавая единый источник истины.
Какой подход рекомендуется использовать в веб-разработке для создания единого источника истины для переменных ресурсов, таких как метки и текст справки?