Skip to main content

zenblog_pro porting for django

Project description

django-zenblog_ds

django-zenblog_ds 는 zenblog-pro v1.1.0을 장고에 맞게 포팅한 장고앱이다. django_non_dark_admin앱은 python3.9이상을 필요로하여 일단 비활성화 하였다.

프로젝트에 설치하기

  1. zenblog 앱 및 필요앱을 프로젝트 settings.py 의 INSTALLED_APPS 에 추가한다.
import os
INSTALLED_APPS = [
    # django_non_dark_admin,
    django.contrib.admin,
    ...
    'zenblog',
    'compressor',         # scss 사용하기
    'django_summernote',  # WYSIWYG 에디터 사용하기
    'user',               # user프로필에 사진추가하기 앱
    'hitcount',
    'taggit',
    'django.contrib.sitemaps'
]
  1. 프로젝트의 urls.py에 zenblog 와 summernote, sitemap 앱을 추가하고 media 경로를 추가한다.
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
from django.contrib import admin

from zenblog.sitemaps import PostSitemap
from django.contrib.sitemaps.views import sitemap

sitemaps = {
    "posts": PostSitemap,
}

urlpatterns = [
    ...
    path('admin/', admin.site.urls),
    path('', include('zenblog.urls')),
    path('summernote/', include('django_summernote.urls')),
    path('sitemap.xml', sitemap, {"sitemaps": sitemaps}),
]

if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
  1. 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
  1. 블로그를 입력하기 위해서 프로젝트에 데이터베이스를 생성한다.
    python manage.py makemigrations zenblog user
    python manage.py migrate
    python manage.py createsuperuser
  1. http://127.0.0.1:8000/admin 으로 접속하여 블로그를 입력한다.

참고 : SCSS 설치하기
https://www.accordbox.com/blog/how-use-scss-sass-your-django-project-python-way/

  1. django_compressor, django-libsass를 설치한다. 앱을 설치하면 자동으로 설치된다.
pip install django_compressor django-libsass
  1. 프로젝트 settings.py 의 INSTALLED_APPS 에 다음을 추가한다.
import os
INSTALLED_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 설치

  1. django-summernote를 설치한다. 앱을 설치하면 자동으로 설치된다.
pip install django-summernote Pillow
  1. 프로젝트 settings.py 에 다음을 추가한다.
import os
INSTALLED_APPS += ('django_summernote', )
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
X_FRAME_OPTIONS = 'SAMEORIGIN'
  1. 프로젝트의 urls.py에 다음을 추가한다.
from django.urls import include, path
from django.conf import settings
from django.conf.urls.static import static
# ...
urlpatterns = [
  ...
  path('summernote/', include('django_summernote.urls')),
  ...
]
if settings.DEBUG:
  urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
  1. 데이터베이스 마이그레이션 시행

참고 : Disable Dark mode Admin
https://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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-zenblog_ds-0.3.8.tar.gz (5.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_zenblog_ds-0.3.8-py3-none-any.whl (5.3 MB view details)

Uploaded Python 3

File details

Details for the file django-zenblog_ds-0.3.8.tar.gz.

File metadata

  • Download URL: django-zenblog_ds-0.3.8.tar.gz
  • Upload date:
  • Size: 5.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.1

File hashes

Hashes for django-zenblog_ds-0.3.8.tar.gz
Algorithm Hash digest
SHA256 cd1ea1f92365ab130c60950c5e571bcc86870688c007d8a736d1236b43d1367d
MD5 a454b62023ac8d8dcefb953ff6b8ec2f
BLAKE2b-256 8aea744a05d08bf9ed017ee33cc6f9af83e423c900d8e1101d896df9662a4c5f

See more details on using hashes here.

File details

Details for the file django_zenblog_ds-0.3.8-py3-none-any.whl.

File metadata

File hashes

Hashes for django_zenblog_ds-0.3.8-py3-none-any.whl
Algorithm Hash digest
SHA256 92f7ed1a117c77ad3a3f4314c9f925bfa6cc59f0753afa5253b901416812a6b5
MD5 8d9a32bfa60d4d2df80fa89ed6481f6d
BLAKE2b-256 ea7656099225c144a91f7f155dd0f70ac90b4bf60992f3bd4a55ab5e0f498b7c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page