0
장고 웹서버의 모든 페이지에 특정 content 보내는 방법

예를 들어 현재 로그인한 경우 상단 navbar의 UsefulSites에는 Custom 항목이 보입니다.


navbar는 현재 웹사이트의 모든 페이지에 보이기 때문에, 개인이 설정한 즐겨찾기가 항상 로드되어야 합니다.


이럴 경우 모든 view파일에 해당 정보를 제공하는 것은 어렵습니다. 이 때,  다음과 같은 순서로 이 문제를 해결할 수 있습니다.


1. 프로젝트의 settings.py 파일 수정

settings.py 파일에 Templates 설정 항목에서 'context_processors' 항목을 찾습니다.

여기에 (앱이름).context_processors.(정의할함수이름) 을 추가합니다. 다음은 북마크 생성시 사용한 예시입니다.


1
2
3
4
5
6
7
8
9
10
11
TEMPLATES = [
    {
        ...
        'OPTIONS': {
            'context_processors': [
                ...
                'tboard.context_processors.bookmark_context',
            ],
        },
    },
]
cs


2. 프로젝트 앱디렉토리에 context_processors.py 파일을 만들고 코드를 작성합니다.


앱폴더 안에 위파일이 없다면 만들고 다음과 같은 형태로 코드를 작성합니다.

저는 로그인한 경우 로그인한 사람의 bookmark 정보를 bookmarks에 담아 보내는 함수입니다.



1
2
3
4
5
6
7
8
9
from .models import Bookmark
 
def bookmark_context(request):
    context = {}
    if request.user.is_authenticated:
        bookmarks = Bookmark.objects.filter(user=request.user)
        context['bookmarks'= bookmarks
    return context
 
cs

이제 완료되었습니다.

템플릿에서 해당 정보를 사용하면 됩니다. 


티쳐✨ 전라남도
소개
::: Foreducator.com을 운영하는 수학교사 ::: '수학하는 즐거움 시리즈', '수업의 과정' 저자
로그인 후 댓글을 작성하실 수 있습니다.

Activity Logs

There are 2 new tasks for you in “AirPlus Mobile App” project:
Added at 4:23 PM by
img
Meeting with customer
Application Design
img
img
A
In Progress
View
Project Delivery Preparation
CRM System Development
img
B
Completed
View
Invitation for crafting engaging designs that speak human workshop
Sent at 4:23 PM by
img
Task #45890merged with #45890in “Ads Pro Admin Dashboard project:
Initiated at 4:23 PM by
img
3 new application design concepts added:
Created at 4:23 PM by
img
New case #67890is assigned to you in Multi-platform Database Design project
Added at 4:23 PM by
Alice Tan
You have received a new order:
Placed at 5:05 AM by
img

Database Backup Process Completed!

Login into Admin Dashboard to make sure the data integrity is OK
Proceed
New order #67890is placed for Workshow Planning & Budget Estimation
Placed at 4:23 PM by
Jimmy Bold
Pic
Brian Cox 2 mins
현재 준비 중입니다. 추후 chatgpt를 간단히 이용할 수 있도록 구성해 놓겠습니다
5 mins You
Pic
고맙습니다 기다릴게요
Pic
Brian Cox 1 Hour
기다려주셔서 감사합니다!
2 Hours You
Pic
You’ll receive notifications for all issues, pull requests!
Pic
Brian Cox 3 Hours
You can unwatch this repository immediately by clicking here: Keenthemes.com
4 Hours You
Pic
Most purchased Business courses during this sale!
Pic
Brian Cox 5 Hours
Company BBQ to celebrate the last quater achievements and goals. Food and drinks provided
Just now You
Pic
Pic
Brian Cox Just now
Right before vacation season we have the next Big Deal for you.

Shopping Cart

Iblender The best kitchen gadget in 2022
$ 350 for 5
SmartCleaner Smart tool for cooking
$ 650 for 4
CameraMaxr Professional camera for edge
$ 150 for 3
$D Printer Manfactoring unique objekts
$ 1450 for 7
MotionWire Perfect animation tool
$ 650 for 7
Samsung Profile info,Timeline etc
$ 720 for 6
$D Printer Manfactoring unique objekts
$ 430 for 8