विकास संस्करण
बस अपने टेम्पलेट्स में नई फ़ाइल registration/password_reset_subject.txt
बनाएं। यह डिफ़ॉल्ट Django विषय को पार कर जाएगी
देखें https://github.com/django/django/blob/master/django/contrib/auth/templates/registration/password_reset_subject.txt
और https://github.com/django/django/blob/master/django/contrib/auth/forms.py लाइन 150
Django 1.3 में
अगर आप internalization का उपयोग सिर्फ .po
फ़ाइल में जोड़ने
#: forms.py:143
#, python-format
msgid "Password reset on %s"
msgstr "YOUR SUBJECT HERE %s"
अगर अगले कदमों का पालन न करें
जड़ urls.py
# change to your custom view
(r'^password_reset/$', 'your_app.views.password_reset'),
में
अपने your_app/views.py
from django.contrib.auth.views import password_reset as django_password_reset
from .forms import CustomPasswordResetForm
# reuse Django view, but change form
def password_reset(*args, **kwargs):
kwargs['password_reset_form'] = CustomPasswordResetForm
django_password_reset(*args, **kwargs):
पुनर्लेखन अपने your_app/forms.py में विधि बचाने में (मैं इसे सूखी नहीं पता लेकिन काम करना चाहिए:)
class CustomPasswordResetForm(PasswordResetForm):
def save(self, domain_override=None, email_template_name='registration/password_reset_email.html',
use_https=False, token_generator=default_token_generator, request=None):
from django.core.mail import send_mail
for user in self.users_cache:
if not domain_override:
current_site = get_current_site(request)
site_name = current_site.name
domain = current_site.domain
else:
site_name = domain = domain_override
t = loader.get_template(email_template_name)
c = {
'email': user.email,
'domain': domain,
'site_name': site_name,
'uid': int_to_base36(user.id),
'user': user,
'token': token_generator.make_token(user),
'protocol': use_https and 'https' or 'http',
}
send_mail(_("YOUR SUBJECT HERE %s") % site_name,
t.render(Context(c)), None, [user.email])
यह समझ में आता है, क्या मुझे डिफ़ॉल्ट को ओवरराइड करने के लिए कुछ भी करने की ज़रूरत है? मैंने पासवर्ड /reset_subject.txt को उसी/पंजीकरण/डीआईआर में बाकी पासवर्ड रीसेट टेम्पलेट्स के रूप में रखा है लेकिन यह अभी भी डिफ़ॉल्ट विषय का उपयोग कर रहा है। – GivP
असुविधा के लिए खेद है, जीव मैं थोड़ा गलत था। पथ TEMPLATE_DIRS सेटिंग पर निर्भर करता है।यदि टेम्पलेट//auth/registration/में काम किया जाना चाहिए –
धन्यवाद एलेक्सी लेकिन मैं अभी भी यह काम करने में सक्षम नहीं हूं। क्या यह Django 1.3.0 के साथ काम करता है? क्योंकि मैंने contrib निर्देशिका में form.py को देखा है और password_reset_subject.txt का कोई उल्लेख नहीं है - पासवर्ड रीसेटफॉर्म क्लास 'सेव() विधि password_reset_subject.txt निर्दिष्ट नहीं करती है - विषय हार्ड-कोडेड है। कोई विचार है कि मैं इसे कैसे ओवरराइड कर सकता हूं? – GivP