djXpostgresql

송용진·2024년 4월 4일

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 작업을 수행할 수 있도록 제공되며,
개발자는 각각의 작업에 대해 필요한 템플릿과 로직을 제공함으로써 사용할 수 있습니다.
이를 통해 개발자는 반복적인 작업에 대해
더 적은 코드를 작성하고 유지보수를 더 쉽게 할 수 있습니다.

profile
개발자

0개의 댓글