Utilities for localized Django projects
Project description
Data Processing
clean_unicode
utils.clean_unicode accepts an input string and returns normalized Unicode
UnicodeNormalizerMixin
Model mixin class which ensures that every text field has been processed with clean_unicode during model validation’s clean_fields step
Testing
TranslationSafeTestClient
Django TestClient subclass which resets the active translation after each request to avoid leaking translation state across tests, causing hard-to-debug side-effects like loading fixtures in the wrong language using django-modeltranslation.
Usage:
from django_i18n_utils.testclients import TranslationSafeTestClient class MyTestCase(TestCase): client_class = TranslationSafeTestClient def test_foo(self): # default language active self.client.get('/pt/myview') # Portuguese active when the view executes # default language active again
LocalizedTestCase
Django TestCase subclass which makes it easy to create per-language tests without duplication or for-loops:
class MyLocalizedTests(LocalizedTestCase): def test_homepage(self): …
will execute and display as if you had really created this:
class MyLocalizedTests(LocalizedTestCase): def test_homepage_en(self): … # test English def test_homepage_es(self): … # test Spanish
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for django_i18n_utils-1.3.0-py27-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0a1850e8f7cfc6917a4f902a86a7140b2d0a05f3fc0e75d15e3abcf1b9b1263 |
|
MD5 | 6d1991eb5d7dd43c351e85e6fe291e45 |
|
BLAKE2b-256 | 02336f1154802175f7544e0c096e7d78216678b1fd3bd46f3dd7225749243e17 |
Hashes for django_i18n_utils-1.3.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 311acb4e1e280e970a2ea58dde7b9f8cdf6c40769aefc64bd7ab7230e2550166 |
|
MD5 | a083c61dba9a3d964b519b6651012a84 |
|
BLAKE2b-256 | 86f8fed6db28e674cd05c5e7d67e4b9be32cd10bfd544a0e8ead39fd29248f48 |