Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
Read-Only 1 way class ReadOnlyAlbumForm(ModelForm): class Meta: model = Album fields = ('name', 'artist_name', 'genre', 'description', 'image_url', 'price') widgets = { 'name': TextInput(attrs={'readonly': 'readonly'}), 'artist_name': TextInput(attrs={'readonly': 'readonly'}), 'genre': TextInput(attrs={'readonly': 'readonly'}), 'description': Textarea(attrs={'readonly': 'readonly'}), 'image_url': TextInput(attrs={'readonly': 'readonly'}), 'price': NumberInput(attrs={'readonly': 'readonly'}), } class DeleteAlbumView(views.DeleteView): queryset = Album.objects.all() template_name = 'albums/album-delete.html' success_url = reverse_lazy('index') form_class = ReadOnlyAlbumForm def get_form_kwargs(self): kwargs = super().get_form_kwargs() kwargs["instance"] = self.object return kwargs Read-only 2 way class ReadonlyViewMixin: def get_form(self, form_class=None): form = super().get_form(form_class=form_class) for field in form.fields.values(): field.widget.attrs["readonly"] = "readonly" return form class DeleteAlbumView(ReadonlyViewMixin, views.DeleteView): queryset = Album.objects.all() template_name = "albums/album-delete.html" success_url = reverse_lazy("index") form_class = modelform_factory( Album, fields=("name", "artist_name", "genre", "description", "image_url", "price"), ) def get_form_kwargs(self): kwargs = super().get_form_kwargs() kwargs["instance"] = self.object return kwargs
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)