Commit e8a2769
committed
Convert featured content images from local storage to Cloudinary
The FeaturedContent model previously used Django ImageField for local file
storage, inconsistent with the rest of the project which uses Cloudinary.
All image fields now use URLField + public_id CharField, matching the
User model pattern.
## Claude Implementation Notes
- backend/contributions/models.py: Replace 4 ImageFields with URLField + public_id pairs (hero, tablet, mobile, avatar)
- backend/contributions/serializers.py: Remove SerializerMethodField helpers, read URL fields directly from model
- backend/contributions/admin.py: Show URL fields instead of file uploads, public_ids as read-only collapsed section
- backend/contributions/management/commands/seed_featured_content.py: Remove local file copy logic, simplified to just create records
- backend/contributions/migrations/0040_convert_featured_images_to_cloudinary.py: Migration for the field conversion1 parent 8aed080 commit e8a2769
5 files changed
Lines changed: 101 additions & 108 deletions
File tree
- backend/contributions
- management/commands
- migrations
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
683 | 683 | | |
684 | 684 | | |
685 | 685 | | |
686 | | - | |
| 686 | + | |
| 687 | + | |
| 688 | + | |
687 | 689 | | |
688 | 690 | | |
689 | 691 | | |
| |||
694 | 696 | | |
695 | 697 | | |
696 | 698 | | |
697 | | - | |
698 | | - | |
| 699 | + | |
| 700 | + | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
699 | 708 | | |
700 | 709 | | |
701 | 710 | | |
| |||
Lines changed: 9 additions & 74 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
2 | | - | |
3 | | - | |
4 | | - | |
5 | 1 | | |
6 | 2 | | |
7 | 3 | | |
| |||
12 | 8 | | |
13 | 9 | | |
14 | 10 | | |
15 | | - | |
16 | | - | |
17 | | - | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | 11 | | |
37 | | - | |
38 | | - | |
39 | 12 | | |
40 | 13 | | |
41 | 14 | | |
| |||
76 | 49 | | |
77 | 50 | | |
78 | 51 | | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | 52 | | |
89 | 53 | | |
90 | 54 | | |
91 | | - | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
92 | 63 | | |
93 | 64 | | |
94 | | - | |
95 | | - | |
96 | | - | |
97 | | - | |
98 | | - | |
99 | | - | |
100 | | - | |
101 | | - | |
102 | 65 | | |
103 | 66 | | |
104 | 67 | | |
| |||
110 | 73 | | |
111 | 74 | | |
112 | 75 | | |
113 | | - | |
114 | | - | |
115 | | - | |
116 | | - | |
117 | 76 | | |
118 | 77 | | |
119 | 78 | | |
120 | 79 | | |
121 | 80 | | |
122 | 81 | | |
123 | | - | |
124 | | - | |
125 | | - | |
126 | | - | |
127 | 82 | | |
128 | 83 | | |
129 | 84 | | |
130 | 85 | | |
131 | 86 | | |
132 | 87 | | |
133 | | - | |
134 | | - | |
135 | | - | |
136 | | - | |
137 | 88 | | |
138 | 89 | | |
139 | 90 | | |
| |||
153 | 104 | | |
154 | 105 | | |
155 | 106 | | |
156 | | - | |
157 | | - | |
158 | | - | |
159 | | - | |
160 | | - | |
161 | | - | |
162 | | - | |
163 | | - | |
164 | | - | |
165 | | - | |
166 | | - | |
167 | | - | |
168 | | - | |
169 | | - | |
170 | | - | |
171 | | - | |
172 | | - | |
173 | 107 | | |
174 | 108 | | |
175 | 109 | | |
176 | 110 | | |
177 | 111 | | |
| 112 | + | |
Lines changed: 69 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
663 | 663 | | |
664 | 664 | | |
665 | 665 | | |
666 | | - | |
667 | | - | |
668 | | - | |
669 | | - | |
| 666 | + | |
| 667 | + | |
| 668 | + | |
| 669 | + | |
| 670 | + | |
| 671 | + | |
| 672 | + | |
| 673 | + | |
670 | 674 | | |
671 | 675 | | |
672 | 676 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
722 | 722 | | |
723 | 723 | | |
724 | 724 | | |
725 | | - | |
726 | | - | |
727 | | - | |
728 | 725 | | |
729 | 726 | | |
730 | 727 | | |
| |||
735 | 732 | | |
736 | 733 | | |
737 | 734 | | |
738 | | - | |
739 | | - | |
740 | | - | |
741 | | - | |
742 | | - | |
743 | | - | |
744 | | - | |
745 | | - | |
746 | | - | |
747 | | - | |
748 | | - | |
749 | | - | |
750 | | - | |
751 | | - | |
752 | | - | |
753 | | - | |
754 | | - | |
755 | | - | |
756 | 735 | | |
757 | | - | |
758 | | - | |
759 | | - | |
760 | | - | |
761 | | - | |
762 | | - | |
| 736 | + | |
| 737 | + | |
| 738 | + | |
763 | 739 | | |
764 | 740 | | |
765 | 741 | | |
| |||
0 commit comments