Skip to content

Instantly share code, notes, and snippets.

@davemerwin
davemerwin / DJANGO-HTMX Class Based View Request Grab to Change Templates
Last active May 23, 2023 15:34
An example of a Class Based View using django-htmx to determine what template to return
class AddImage(LoginRequiredMixin, CreateView):
"""
adds a image
"""
form_class = ImageForm
model = Image
def get_template_names(self):
if self.request.htmx:
@davemerwin
davemerwin / image_formats.py
Created March 19, 2021 17:17
Image Classes For Richtext Image in Wagtail with Tailwind
from django.utils.translation import gettext_lazy as _
from wagtail.images.formats import Format, register_image_format, unregister_image_format
unregister_image_format('fullwidth')
register_image_format(Format('fullwidth', _('Full width'), 'w-100 rounded-lg', 'width-800'))
unregister_image_format('left')
register_image_format(Format('left', _('Left-aligned'), 'w-1/2 float-left rounded-lg', 'width-800'))
unregister_image_format('right')
@davemerwin
davemerwin / gist:a256a2f5fba56f2c8ed5ead83aa297ab
Last active May 28, 2020 22:14
Some sane defaults for a Nuxtjs, eslintrc file for VSCode
module.exports = {
root: true,
env: {
browser: true,
node: true
},
parserOptions: {
parser: 'babel-eslint'
},
extends: [
@davemerwin
davemerwin / things-to-know.txt
Last active June 5, 2020 17:17
This is a collection of things to know that I always forget
Digialocean
Postgres
To dump: pg_dump -h localhost -U USERNAME DATABASENMAE > /home/NAME/DATABASENAME.sql
To import: psql -h localhost -U username databasename < databasename.sql
Python
python3 -m venv /path/to/new/virtual/environment
find . -name '*.pyc' -delete - gets rid of old .pyc files
@davemerwin
davemerwin / Step By Step Virtualenv, Django, Postgres, NGINX, Gunicorn, HTTPS on DigitalOcean
Last active March 5, 2024 01:50
This is every step, in detail, to create a Django App with Postgres, NGINX, Gunicorn, and HTTPS on Digital Ocean. The only thing I don't go over is how to create a droplet and manage the domain.
Reference:
Django/Postgres/Nginx/Gunicorn in Ubuntu: https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-16-04
Encryption: https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-16-04
Where you see "user", "myproject" and "myprojectuser" replace that with what is relevent to what you are working on.
User Setup
$ ssh root@SERVER_IP_ADDRESS
Complete login process
@davemerwin
davemerwin / Django Rest Framework Complete Relational Example
Last active October 31, 2020 09:45
This is a (mostly) complete relationship example of a parent child relationship via Django Rest Framework
# This example will allow you to manipluate a Parent and a Child via various endpoints
# /api - All endpoints
# /api/parents - Parents list
# /api/parents/(?P<pk>\d+) - Parent detail
# /api/parents/(?P<pk>\d+)/children - List of children of parent
# /api/children - Child list
# /api/children/(?P<pk>\d+) - Child Detail
# Models - models.py
# Pretty simple setup. Children have a FK to parent
Can an admin GET any endpoint?
Can an admin POST any endpoint?
Can an admin PUT any endpoint?
Can an admin PATCH any endpoint?
Can an admin DELETE any endpoint?
Can a user GET thier endpoint?
Can a user POST thier endpoint?
Can a user PUT thier endpoint?
Can a user PATCH thier endpoint?
@davemerwin
davemerwin / gist:5265211
Created March 28, 2013 17:33
This is the settings for displaying Symbolset fonts so that Firefox will show them. Replace "domainname" with your domain name.
AddType application/vnd.ms-fontobject .eot
AddType font/ttf .ttf
AddType font/otf .otf
AddType application/x-font-woff woff
<FilesMatch "\.(ttf|ttc|otf|eot|woff|font.css)$">
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "http://*.domainname.org"
</IfModule>
</FilesMatch>
behavior: url(http://path-to-file.com/ie-css3.htc); /* Add me to any box or text shadow and rounded corner object to execute in IE7 and 8 */
$('#slideshow').loopedSlider({
addPagination: true,
slides: ".slides",
containerClick: true,
autoStart: 6000,
fadespeed: 2000,
});