bookmark>models.py
from django.db import models
# title, url
class Bookmark(models.Model):
title = models.CharField('TITLE',max_length=100,blank=True)
url = models.URLField('URL',unique=True)
def __str__(self):
# return self.title
# return self.url
return self.title + " " + self.url
bookmark>admin.py
from django.contrib import admin
from bookmark.models import Bookmark
@admin.register(Bookmark)
class BookmarkAdmin(admin.ModelAdmin):
list_display
config>settings.py
bookmar>views.py
from django.shortcuts import render
from django.views.generic import ListView, DeleteView
from bookmar.models import Bookmark
class BookmarkLV(ListView):
model = Bookmark
# template_name = "bookmark/bookmark_list.html" # appname/model_name_list.html
# context_object_name = "object_list" # object_list
class BookmarkDV:
# 직접
pass
bookmark>templates>bookmark
config>urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin
bookmark>urls.py
from django.urls import path
from . import views
app_name = "bookmark"
url patterns = [
path(" ",views.BookmarkLV.as_view(), name = "index"),
]
bookmark>templates>bookmark>bookmarks_list.html
<h1>Bookmark List</h1>
<br>
<ul>
{% for bookmark in object_list %}
<li><a href="{% url 'bookmark:detail' bookmark.id %}">{{ bookmark.title }}</a></li>
{% endfor %}
</ul>
Django의 generic view
재사용 가능한 뷰 컴포넌트로,
일반적인 웹 개발 패턴에 맞춰
미리 정의된 기능을 제공합니다.
이를 통해 코드의 반복을 줄이고
개발 속도를 높일 수 있습니다.
Generic view는
일반적인 작업에 대한 일련의 클래스 기반 뷰를 제공하여
개발자가 특정한 뷰를 작성하는 데 필요한 코드 양을 줄입니다.
예를 들어, 데이터베이스 모델의 목록을 표시하거나,
단일 객체의 세부 정보를 표시하고,
폼을 처리하는 등의 작업을 쉽게 처리할 수 있습니다.
장고의 generic view는
CRUD 작업을 수행할 수 있도록 제공되며,
개발자는 각각의 작업에 대해 필요한 템플릿과 로직을 제공함으로써 사용할 수 있습니다.
이를 통해 개발자는 반복적인 작업에 대해
더 적은 코드를 작성하고 유지보수를 더 쉽게 할 수 있습니다.