Hata postaya kullanıcı Infos olarak iliştirilmiş için bu basit ortakatmanını nöbet kullanmak istemiyorsanız:
# source: https://gist.github.com/646372
class ExceptionUserInfoMiddleware(object):
"""
Adds user details to request context on receiving an exception, so that they show up in the error emails.
Add to settings.MIDDLEWARE_CLASSES and keep it outermost(i.e. on top if possible). This allows
it to catch exceptions in other middlewares as well.
"""
def process_exception(self, request, exception):
"""
Process the exception.
:Parameters:
- `request`: request that caused the exception
- `exception`: actual exception being raised
"""
try:
if request.user.is_authenticated():
request.META['USERNAME'] = str(request.user.username)
request.META['USER_EMAIL'] = str(request.user.email)
except:
pass
Sadece yerde bir * .py dosyasında bu sınıf koyabilirsiniz Django projenizin altında ve MIDDLEWARE_CLASSES
'a bir başvuru ekleyin. Yani Eğer proje kökünde (settings.py'nin olduğu) bir "middleware" dosyasına koyarsanız, sadece middleware.ExceptionUserInfoMiddleware
'u eklersiniz.
Bu basit görünüyor. Yani bu tek şey, bu iki değeri Django'nun e-postaya ekleyeceği şeylere eklemektir. Sonra Django e-postayı normal olarak gönderir mi? – Greg
Bu dersi hangi dosyaya koyardım? Ve sonra onu aldım ve settings.py'den referans alıyorum? – Greg
@Greg Cevabı güncelledim. –