Django_Admin_Module4
Django_Admin_Module4
Key Features:
- It allows you to perform CRUD operations (Create, Read, Update, Delete) without
writing SQL or custom forms.
Purpose:
Example:
```python
# models.py
class Product(models.Model):
name = models.CharField(max_length=100)
```
python
# admin.py
admin.site.register(Product)
2. Set Up URLs:
```python
urlpatterns = [
path('admin/', admin.site.urls),
```
```bash
```
4. Create a Superuser:
```bash
```
6. Register Models:
admin.site.register(YourModel)
```
Q3. Explain how to register and customize a model in Django Admin using
ModelAdmin.
To manage and customize how a model appears in the admin interface, we use the
`ModelAdmin` class.
Steps:
1. Registering a Model:
```python
admin.site.register(Book)
```
```python
class BookAdmin(admin.ModelAdmin):
search_fields = ('title',)
list_filter = ('author',)
admin.site.register(Book, BookAdmin)
```Explanation:
Advantages:
Example:
```python
# models.py
class Blog(models.Model):
title = models.CharField(max_length=100)
class Comment(models.Model):
content = models.TextField()
```Creating Inline:
```python
# admin.py
model = Comment
class BlogAdmin(admin.ModelAdmin):
inlines = [CommentInline]
admin.site.register(Blog, BlogAdmin)
```
Benefits:
Q5. Describe Django Admin Permissions. How are they applied in a project?
Django uses a permission-based system to control user access to models and admin
actions.
Types of Permissions:
- `add`: Can add a new record.
Setting Permissions:
```python
user.user_permissions.add(permission)
```
Restricting Access:
In `admin.py`:
```python
class ArticleAdmin(admin.ModelAdmin):
return request.user.is_staff
```