46 장고 프레임워크 Sitemap 만들기
46.1 Django Sitemap 만들기 - base.py
빙, 구글, 네이버 등 사이트를 등록할때 필요한 사이트맵을 만들어 보자!!
base.py 설정 파일을 열어 sitemap 패키지를 추가한다.  
#config/settings/base.py
SITE_ID = 1 
'django.contrib.sites',     
django.contrib.sitemaps',
46.2 Django Sitemap 만들기 - sitemaps.py
사이트맵을 만들기 위해 config.sitemaps.py 신규 파일을 생성했다.
PyBlog model을 import 하고
location을 오버라이드 해서 /blog/pk 가 되도록 경로 설정하였다.  
#config/sitemaps.py
from django.contrib.sitemaps import Sitemap
from myapp.blog.models import PyBlog
class PytonBlogSitemap(Sitemap):
    changefreq = 'weekly'
    priority = 0.7
    def items(self):
        results = PyBlog.objects.all().order_by('-regist_dt')       
        return results
    def location(self, obj):
        return """/blog/%s""" % obj.pk
    def lastmod(self, obj):
        return obj.update_dt
46.3 Django Sitemap 만들기 - urls.py
urls.py 에 sitemap.xml path와 
sitemaps ={} 부분은 config.sitemaps 안의 PythonBlogSitemap 클래스 이다.  
#config/urls.py
from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.contrib.sitemaps.views import sitemap
from config.sitemaps import PytonBlogSitemap
sitemaps = {
    'blog':PytonBlogSitemap, 
}
urlpatterns = [ 
    path('sitemap.xml', sitemap, {'sitemaps': sitemaps}, name='sitemap'),
    path('admin/', admin.site.urls),
    path("", include("myapp.blog.urls")),
]
if settings.DEBUG:
    if "debug_toolbar" in settings.INSTALLED_APPS:
        import debug_toolbar
        urlpatterns = [path("__debug__/", include(debug_toolbar.urls))] + urlpatterns
위 설정이 다 되었으면 아래 코드를 한번 실행하자.
python manage.py makemigrations
python manage.py migrate
46.4 브라우저에서 Django sitemap 확인하기 - example.com
46.5 브라우저에서 Django sitemap 확인하기 -Sitesadmin 수정하기
Comments
                
                                      
                     
                    
                
                
            
            Login:
                
             
               
                         
                         
                         
                         
                         
                         
                         
                        