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, создавая единый источник истины.

Какой подход рекомендуется использовать в веб-разработке для создания единого источника истины для переменных ресурсов, таких как метки и текст справки?

Вернуться на верх