Nếu bạn xem các nguồn cho django.contrib.auth.views.password_reset, bạn sẽ thấy rằng nó sử dụng RequestContext
. Kết quả là, bạn có thể sử dụng Bộ xử lý ngữ cảnh để sửa đổi ngữ cảnh có thể cho phép bạn đưa thông tin mà bạn cần.
Danh sách b có một giới thiệu tốt về bộ xử lý ngữ cảnh .
Chỉnh sửa (dường như tôi đã nhầm lẫn về câu hỏi thực sự là gì):
Bạn sẽ nhận thấy rằng password_reset
có một tham số được đặt tên là template_name
:
def password_reset(request, is_admin_site=False,
template_name='registration/password_reset_form.html',
email_template_name='registration/password_reset_email.html',
password_reset_form=PasswordResetForm,
token_generator=default_token_generator,
post_reset_redirect=None):
Kiểm tra password_reset để biết thêm thông tin.
... do đó, với urls.py như:
from django.conf.urls.defaults import *
from django.contrib.auth.views import password_reset
urlpatterns = patterns('',
(r'^/accounts/password/reset/$', password_reset, {'template_name': 'my_templates/password_reset.html'}),
...
)
django.contrib.auth.views.password_reset
sẽ được gọi cho các URL phù hợp '/accounts/password/reset'
với đối số từ khóa template_name = 'my_templates/password_reset.html'
.
Nếu không, bạn không cần phải cung cấp bất kỳ ngữ cảnh nào vì password_reset
chế độ xem tự xử lý. Nếu bạn muốn xem bạn có sẵn ngữ cảnh nào, bạn có thể kích hoạt TemplateSyntax
lỗi và xem qua dấu vết ngăn xếp, tìm khung có tên biến cục bộ context
. Nếu bạn muốn sửa đổi ngữ cảnh thì những gì tôi đã nói ở trên về bộ xử lý ngữ cảnh có lẽ là cách tốt nhất.
Tóm lại: bạn cần làm gì để sử dụng mẫu của riêng mình? Cung cấp template_name
đối số từ khóa cho dạng xem khi nó được gọi. Bạn có thể cung cấp các đối số từ khóa cho các chế độ xem bằng cách đưa từ điển làm thành viên thứ ba của bộ mã mẫu URL.
context
là điều phù hợp mà bạn đang tìm kiếm!