feat: Implement avatar upload system with Cloudflare integration

- Added migration to transition avatar data from CloudflareImageField to ForeignKey structure in UserProfile.
- Fixed UserProfileEvent avatar field to align with new avatar structure.
- Created serializers for social authentication, including connected and available providers.
- Developed request logging middleware for comprehensive request/response logging.
- Updated moderation and parks migrations to remove outdated triggers and adjust foreign key relationships.
- Enhanced rides migrations to ensure proper handling of image uploads and triggers.
- Introduced a test script for the 3-step avatar upload process, ensuring functionality with Cloudflare.
- Documented the fix for avatar upload issues, detailing root cause, implementation, and verification steps.
- Implemented automatic deletion of Cloudflare images upon avatar, park, and ride photo changes or removals.
This commit is contained in:
pacnpal
2025-08-30 21:20:25 -04:00
parent fb6726f89a
commit 9bed782784
75 changed files with 4571 additions and 1962 deletions

View File

@@ -141,10 +141,8 @@ if settings.DEBUG:
# Note: Media files are handled by Cloudflare Images, not Django static serving
# This prevents the catch-all pattern from interfering with API routes
try:
urlpatterns += [path("silk/", include("silk.urls", namespace="silk"))]
except ImportError:
pass
# Silk has been disabled for performance
# urlpatterns += [path("silk/", include("silk.urls", namespace="silk"))]
# Serve test coverage reports in development
coverage_dir = os.path.join(settings.BASE_DIR, "tests", "coverage_html")