Package: django-zenblog-ds
django-zenblog_dsdjango-zenblog_ds 는 zenblog-pro v1.1.0을 장고에 맞게 포팅한 장고앱이다.
django_non_dark_admin앱은 python3.9이상을 필요로하여 일단 비활성화 하였다.프로젝트에 설치하기zenblog 앱 및 필요앱을 프로젝트 settings.py 의 INSTALLED_APPS 에 추가한다.importosINSTALLED_APPS=[# django_non_dark_admin,django.contrib.admin,...'demian_parts','zenblog','compressor',# scss 사용하기'django_summernote',# WYSIWYG 에디터 사용하기'user',# user프로필에 사진추가하기 앱'hitcount','taggit','django.contrib.sitemaps']프로젝트의 urls.py에 zenblog 와 summernote, sitemap 앱을 추가하고 media 경로를 추가한다.fromdjango.urlsimportpath,includefromdjango.confimportsettingsfromdjango.conf.urls.staticimportstaticfromdjango.contribimportadminfromzenblog.sitemapsimportPostSitemapfromdjango.contrib.sitemaps.viewsimportsitemapsitemaps={"posts":PostSitemap,}urlpatterns=[...path('admin/',admin.site.urls),path('',include('zenblog.urls')),path('summernote/',include('django_summernote.urls')),path('sitemap.xml',sitemap,{"sitemaps":sitemaps}),]ifsettings.DEBUG:urlpatterns+=static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)settings.py에 필요한 설정을 추가한다.COMPRESS_PRECOMPILERS=(('text/x-scss','django_libsass.SassCompiler'),)STATICFILES_FINDERS=['django.contrib.staticfiles.finders.FileSystemFinder','django.contrib.staticfiles.finders.AppDirectoriesFinder','compressor.finders.CompressorFinder',]STATIC_ROOT=os.path.join(BASE_DIR,'staticfiles')MEDIA_URL='/media/'MEDIA_ROOT=os.path.join(BASE_DIR,'media/')X_FRAME_OPTIONS='SAMEORIGIN'SUMMERNOTE_CONFIG={'attachment_filesize_limit':4096*4096,'summernote':{'width':'100%','height':'480',},'lang':'ko-kr',}# DISABLE_DARK_MODE = True블로그를 입력하기 위해서 프로젝트에 데이터베이스를 생성한다.python manage.py makemigrations zenblog user
    python manage.py migrate
    python manage.py createsuperuserhttp://127.0.0.1:8000/admin으로 접속하여 블로그를 입력한다.참고 : SCSS 설치하기https://www.accordbox.com/blog/how-use-scss-sass-your-django-project-python-way/django_compressor, django-libsass를 설치한다. 앱을 설치하면 자동으로 설치된다.pip install django_compressor django-libsass프로젝트 settings.py 의 INSTALLED_APPS 에 다음을 추가한다.importosINSTALLED_APPS=[...'compressor',]COMPRESS_PRECOMPILERS=(('text/x-scss','django_libsass.SassCompiler'),)STATICFILES_FINDERS=['django.contrib.staticfiles.finders.FileSystemFinder','django.contrib.staticfiles.finders.AppDirectoriesFinder','compressor.finders.CompressorFinder',]# compressor 앱을 실행하기 위해서는 STATIC_ROOT가 설정되어 있어야 한다.STATIC_ROOT=os.path.join(BASE_DIR,'staticfiles')참고 : WYSIWYG 설치, pillow 설치django-summernote를 설치한다. 앱을 설치하면 자동으로 설치된다.pip install django-summernote Pillow프로젝트 settings.py 에 다음을 추가한다.importosINSTALLED_APPS+=('django_summernote',)MEDIA_URL='/media/'MEDIA_ROOT=os.path.join(BASE_DIR,'media')X_FRAME_OPTIONS='SAMEORIGIN'프로젝트의 urls.py에 다음을 추가한다.fromdjango.urlsimportinclude,pathfromdjango.confimportsettingsfromdjango.conf.urls.staticimportstatic# ...urlpatterns=[...path('summernote/',include('django_summernote.urls')),...]ifsettings.DEBUG:urlpatterns+=static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)데이터베이스 마이그레이션 시행참고 : Disable Dark mode Adminhttps://djangolearn.com/p/disable-or-enable-dark-mode-user-interface-in-django-admin-panel참고 : user 앱장고의 기본 users 에 사진을 첨부할 수 있는 기능을 추가한 앱이다.https://www.devhandbook.com/django/user-profile/참고 : hitcount 사용하기https://dev.to/thepylot/how-to-track-number-of-hits-views-for-chosen-objects-in-django-django-packages-series-2-3bcb참고 : taggit 사용하기https://dev.to/thepylot/how-to-add-tags-to-your-models-in-django-django-packages-series-1-3704