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.0.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.0-py3-none-any.whl (5.3 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: django-zenblog_ds-0.3.0.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.0.tar.gz
Algorithm Hash digest
SHA256 97a6ab718416b7e656d40987ac598d1fa6188eb5a7516121675a6dd652380f90
MD5 c5ef98f7cfebc7519654bfe55f5c85e9
BLAKE2b-256 c74838cedef92d08e0b64440852de58b66f58ae3355c9e742ac7fea9f94bf8b9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for django_zenblog_ds-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 02dad1b3b1e79a6b3f54374c1bf0831e9ecfdc7c6b3de8e0c7c00257f74f5ec5
MD5 67cc0c6d1f01393a46a81c4a5c9102a7
BLAKE2b-256 03baca04289907b6d61da33b42954a44d3236cdeabecb7b07bb0f655ee1392a6

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