mirror of
https://github.com/thecyberlearn/chat-backend.git
synced 2026-08-19 05:52:52 +00:00
Features: - Django REST API backend - Multi-strategy web scraping system (Beautiful Soup, Playwright, Firecrawl) - Anti-detection features (proxy rotation, user-agent rotation) - Data export functionality (JSON, CSV, TXT) - Business and CrawledPage models - Enhanced crawling service with fallback mechanisms 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
32 lines
1023 B
Python
32 lines
1023 B
Python
from django.contrib.auth.forms import AuthenticationForm, PasswordChangeForm
|
|
from django.core.exceptions import ValidationError
|
|
from django.utils.translation import gettext_lazy as _
|
|
|
|
|
|
class AdminAuthenticationForm(AuthenticationForm):
|
|
"""
|
|
A custom authentication form used in the admin app.
|
|
"""
|
|
|
|
error_messages = {
|
|
**AuthenticationForm.error_messages,
|
|
"invalid_login": _(
|
|
"Please enter the correct %(username)s and password for a staff "
|
|
"account. Note that both fields may be case-sensitive."
|
|
),
|
|
}
|
|
required_css_class = "required"
|
|
|
|
def confirm_login_allowed(self, user):
|
|
super().confirm_login_allowed(user)
|
|
if not user.is_staff:
|
|
raise ValidationError(
|
|
self.error_messages["invalid_login"],
|
|
code="invalid_login",
|
|
params={"username": self.username_field.verbose_name},
|
|
)
|
|
|
|
|
|
class AdminPasswordChangeForm(PasswordChangeForm):
|
|
required_css_class = "required"
|