Skip to main content

A Django package to build complete blog site.

Project description

Mickey

Mickey is a Django package to create a blog site quickly and easily. Mickey provide severals public REST APIs which can be integrated with frontend which are for such as Category List, Tag List, Post List etc. Mickey also provide a little bit customized Django admin from where user can easily create groups, site information, category, sub category, blog posts and media images.

Features

  • Add category and Subcategory
  • Add tags
  • Add images
  • Add posts (as public/ archive)

Quick start

  1. Install django rest framework and Pillow

  2. Add "rest_framework" and "mickey" to your INSTALLED_APPS setting like this::

    INSTALLED_APPS = [
        ...
        'rest_framework',
        'mickey',
    ]
  1. Add a middleware 'mickey.middleware.CurrentUserMiddleware' at the very bottom of the MIDDLEWARE list this::
    MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'mickey.middleware.CurrentUserMiddleware'
    ]
  1. In your project root folder import mickey urls like as::
    from django.urls import path, re_path, include
    from django.conf.urls import url
    from django.conf import settings
    from django.conf.urls.static import static
    from mickey import urls as blog_urls
  1. Include the mickey URLconf in your project urls.py like this::
    re_path(r"^api/v1/", include(blog_urls)),
  1. At the bottom of the urls.py file add this::
    if settings.DEBUG:
        urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
        urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
  1. Add media url in settings.py file like as ::
    MEDIA_URL = "/media/"
    MEDIA_ROOT = os.path.join(BASE_DIR, "media/images/")
    STATIC_ROOT = os.path.join(BASE_DIR, "static")
  1. Run python manage.py makemigrations and python manage.py migrate to create all models.

  2. Start the development server and visit http://127.0.0.1:8000/admin/ to create a poll (you'll need the Admin app enabled).

  3. Create Category, Subcategory, Tags, Media files and blog posts from django admin.

  4. Public REST APIs endpoints are::

    'categories':       'http://localhost:8000/api/v1/public/categories/',
    'tags':             'http://localhost:8000/api/v1/public/tags/'
    'posts':            'http://localhost:8000/api/v1/public/posts/',
    'reacts':           'http://localhost:8000/api/v1/public/reacts/',
    'comments':         'http://localhost:8000/api/v1/public/comments/',
    'site-information': 'http://localhost:8000/api/v1/public/site-information/'

Advance options

Mickey provide APIs for public post and archive post. /api/v1/public/posts/ and /api/v1/public/posts/?type=published both API endpoints fetch all posts which are published and not archive. /api/v1/public/posts/?type=archive To make a post archive, mark check box archive in django admin. Remember a archive post is also a published post but in a different scheme. To get all posts for a single tag use the API endpoint /api/v1/public/posts/?tag=

In Mickey, image need to choose in time of creation a blog post. Hence there is a media browser named Media. To use any image, first need to upload images from Media. In each time of uploading a single image, Mickey created extra 2 copy of same image with different size which are mainly medium and small size. By default the medium and small size are (768,1024) and (265, 300).

But you can override the size from settings.py file which is your root app folder. To change, create two variable in your setting.py file named MID_IMAGE_SIZE and SM_IMAGE_SIZE and assign to them image sizes as a tuple.

Example ::

    MID_IMAGE_SIZE = (768, 1024)
    SM_IMAGE_SIZE = (264, 300)

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

mickey-0.0.5.tar.gz (12.4 kB view details)

Uploaded Source

Built Distribution

mickey-0.0.5-py3-none-any.whl (15.0 kB view details)

Uploaded Python 3

File details

Details for the file mickey-0.0.5.tar.gz.

File metadata

  • Download URL: mickey-0.0.5.tar.gz
  • Upload date:
  • Size: 12.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

File hashes

Hashes for mickey-0.0.5.tar.gz
Algorithm Hash digest
SHA256 c2b5665b83367e2fd07e51744bbb2fdf3ebf2968b194a24d1d687f8a8ebe06c2
MD5 05a9dbc4b361dac7875f30b822fe3b15
BLAKE2b-256 2bea54e7ff90639b2dd7a46b1d9ac83a09595c39f2e6e2539ad1790646ac4731

See more details on using hashes here.

File details

Details for the file mickey-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: mickey-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 15.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

File hashes

Hashes for mickey-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 7e8ac1db5bf12aecc91d80394d4ab5926f60eb85d67da2f29f8cac1e4d6426a5
MD5 d560da53f337c43466cbac400abf39a2
BLAKE2b-256 9c817f8ba45f3fffc13f10a61bc970fac01e74d16f59b724d0e5805028064a37

See more details on using hashes here.

Supported by

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