Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- block_user_process
- 차단시프로세스
- 파이썬
- blockuser
- follow 기획
- 반응형이미지
- celery # redis #django #장고 #python #파이썬
- 앱생성방법
- django
- 팔로우기획
- 제일상단으로
- url설계
- 이용자블럭
- 장고
- gototop
- 댓글설계
- fakesession
- Block
- 로그인테스트
- 차단프로세스
- 가짜 세션
- 데이타타입
- replyschema
- 유튜브주소
- Bootstrap
- pagenotfound
- 영문과숫자가혼합된중복되지않는주소
- Python
- logintest
- 팔로우팔로워
Archives
- Today
- Total
코딩이야기
UUID(Universally Unique Identifier) 본문
URL에 숫자와 영어가 섞인 고유 식별자를 사용하는 방법은 UUID(Universally Unique Identifier)를 사용하면 된다.
UUID는 고유한 문자열로, 숫자와 영어 알파벳이 혼합된 형식으로 생성된다.
예) 유튜브 주소
이를 사용하면 각 페이지에 대해 고유하고 예측할 수 없는 식별자를 부여할 수 있다.
UUID를 사용하는 방법
- 모델에 UUID 필드 추가: 모델에 UUID 필드를 추가하고, 이를 primary key로 설정할 수 있다.
- URL 패턴 설정: UUID를 포함하는 URL 패턴을 설정.
- 뷰에서 UUID 사용: UUID를 사용하여 포스트를 조회하고 처리.
단계별 구현
1. 모델 정의
Post 모델에 UUID 필드를 추가하고, 이를 primary key로 설정.
from django.db import models
import uuid
from django.contrib.auth.models import User
class Post(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
title = models.CharField(max_length=255)
content = models.TextField()
image = models.ImageField(upload_to='post_images/')
created_at = models.DateTimeField(auto_now_add=True)
author = models.ForeignKey(User, on_delete=models.CASCADE, related_name='posts')
def __str__(self):
return self.title
2. URL 패턴 설정
UUID를 포함하는 URL 패턴을 설정.
from django.urls import path
from . import views
urlpatterns = [
path('pin/<uuid:pk>/', views.PostDetailView.as_view(), name='post_detail'),
]
3. 뷰 설정
UUID를 사용하여 포스트를 조회하는 뷰를 설정.
from django.views.generic.detail import DetailView
from .models import Post
class PostDetailView(DetailView):
model = Post
template_name = 'post_detail.html'
4. 템플릿 설정
상세 페이지를 보여주는 템플릿을 설정
예) post_detail.html 파일
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>{{ post.title }}</title>
</head>
<body>
<h1>{{ post.title }}</h1>
<p>{{ post.content }}</p>
<img src="{{ post.image.url }}" alt="{{ post.title }}">
<p>Author: {{ post.author.username }}</p>
<p>Created at: {{ post.created_at }}</p>
</body>
</html>
'KnowHows' 카테고리의 다른 글
Follow 기획 (0) | 2024.06.25 |
---|---|
유저 차단 모드 기획시 , 기본적으로 처리해야할 내부 프로세스 (0) | 2024.06.25 |
댓글 구조 설계 (0) | 2024.06.24 |
반응형에서 빠른 이미지 로딩을 위한 Tip (0) | 2024.06.24 |
data type Char vs VarChar (0) | 2024.06.24 |