Django community: RSS
This page, updated regularly, aggregates Community blog posts from the Django community.
-
Handling Periodic Tasks in Django with Celery and Docker
This post looks at how to manage periodic tasks with Django, Celery, and Docker. -
Remote debugging a Django project with VS Code
In this tutorial you will learn how to use VS Code for remote debugging. I’ll show you how to debug a Django application running on a remote server over SSH or in a Docker container. Imagine the following scenario: You developed a Django application on your laptop. You did your tests and made some debug. The application worked fine. Finally you deploy the application on a production server. Something goes wrong. There is a bug to hunt down and you cannot reproduce it locally. You could connect to the remote server using SSH, then use a remote editor like vim on nano to tweak the code. You could put some print("I'm here!") here and there, trying to find the bug. But wait, aren’t you a VS Code user? Why you have to debug in an editor you don’t know? Wouldn’t be great if you could connect to the remote environment from VS Code and debug your application inside the IDE you love? It turns out that VS Code has some extensions made exactly for that purpose, and you’ll learn how to use them. At the end of this tutorial you will be able to: Connect with VS Code to a … -
Remote debugging a Django project in VS Code
In this tutorial you will learn how to use VS Code for remote debugging. I’ll show you how to debug a Django application running on a remote server over SSH or in a Docker container. Imagine the following scenario: You developed a Django application on your laptop. You did your tests and made some debug. The application worked fine. Finally you deploy the application on a production server. Something goes wrong. There is a bug to hunt down and you cannot reproduce it locally. You could connect to the remote server using SSH, then use a remote editor like vim on nano to tweak the code. You could put some print("I'm here!") here and there, trying to find the bug. But wait, aren’t you a VS Code user? Why you have to debug in an editor you don’t know? Wouldn’t be great if you could connect to the remote environment from VS Code and debug your application inside the IDE you love? It turns out that VS Code has some extensions made exactly for that purpose, and you’ll learn how to use them. At the end of this tutorial you will be able to: Connect with VS Code to a … -
Setup AWS CLI for Local Development
This post is related to an upc... -
AWS S3, IAM Group & Policy Setup
In this one, we'll be setting ... -
Django, Axios and CSRF token
Django, Axios and CSRF token I am building a "hybrid web app" (I'll post on it in the near future) using Vue to the front and Django to the back. A "hybrid web app" is something between a SPA and a classic website. The server sends the HTML template, the HTML template has a Vue component and then Vue takes place, mounts on it and do its things. The app consists of some forms. When the user presses the submit button, the Vue component will make a POST XMLHttpRequest (aka AJAX request) using the axios library and the server will respond with some JSON data. The reason I want to make an AJAX call and not a usual form submit is that I do not want the page to refresh and the state of my Vue app re-initialize. So far so good. Since, my Django view is CSRF protected, I want axios to properly handle the CSRF token for me and everything work transparent. Fortunately, axios has two config settings (xsrfHeaderName and xsrfCookieName) which set the proper header of the request in order to pass the csrf token to the server. However, axios gives you the possibility to add (extra) … -
Django, Axios and CSRF token
Introduction I am building a "hybrid web app" (I'll post on it in the near future) using Vue to the front and Django to the back. A "hybrid web app" is something between a SPA and a classic website. The server sends the HTML template, the HTML template has a Vue component and then Vue takes place, mounts on it and do its things. The app consists of some forms. When the user presses the submit button, the Vue component will make a POST XMLHttpRequest (aka AJAX request) using the axios library and the server will respond with some JSON data. The reason I want to make an AJAX call and not a usual form submit is that I do not want the page to refresh and the state of my Vue app re-initialize. So far so good. Since, my Django view is CSRF protected, I want axios to properly handle the CSRF token for me and everything work transparent. Fortunately, axios has two config settings (xsrfHeaderName and xsrfCookieName) which set the proper header of the request in order to pass the csrf token to the server. However, axios gives you the possibility to add (extra) headers using the headers … -
Django News - Virtual PyCon! - Apr 17th 2020
News Wagtail 2.7.2 and 2.8.1 security release Fixes a cross-site scripting (XSS) vulnerability. github.com PyCon US Online PyCon US went virtual this year and has started releasing videos. Check it out. pycon.org Articles A Quick and Dirty Guide on How to Install Packages for Python Python core developer, Brett Cannon, walks us through the various ways to install something with Python. snarky.ca Using VueJS alongside Django Learn how to integrate Django templates with VueJS. tkainrad.dev A Month in the Life of a DSF Board Member A look at the work of Board Members on the Django Software Foundation, the non-profit that runs Django. wsvincent.com Using Markdown in Django Describes the development of a Markdown extension to address challenges in managing content using Markdown in Django sites. hakibenita.com Sponsored Link Django for Beginners A step-by-step guide to building web applications with Python and Django 3.0. djangoforbeginners.com Podcasts Django Chat #59 - JustDjango with Matthew Freire JustDjango is a popular YouTube channel and website dedicated to Django learning resources. Discussion covers how Matthew learned Django, building the website itself, payments, mentors, and more. djangochat.com Tutorials Django on Azure - beyond "hello world" A comprehensive guide to running Django on Microsoft Azure. github.io … -
Consistent Onboarding - Building SaaS #52
In this episode, we glued together some of the onboarding steps. I added data validation so that future steps depend on data existing from previous steps. Then we added page messaging to direct users to a proper page. We reviewed the way that the form validates certain data from the form submission so that data is kept safe between users. I showed how I switched from the model and fields attributes of CreateView to a form_class containing the form that does the necessary validation. -
JustDjango - Matthew Freire
Weekly Django Chat NewsletterJustDjango.comJustDjango on YouTubeCapRoverplyr.io -
A Quick Guide to Generating Fake Data with Pandas
Photo by Chris Curry. Last August, our CTO Colin Copeland wrote about how to import multiple Excel files in your Django project using Pandas. We have used Pandas on multiple Python-based projects at Caktus and are adopting it more widely. Since Colin’s post, Pandas released version 1.0 in January of this year and is currently up to version 1.0.3. Pandas is fairly popular in the data analysis community. It was showcased at PyData NYC 2019, and was planned to be highlighted during multiple sessions at Pycon 2020 (before the event was canceled). A Pandas core developer will give a keynote at the postponed PyData Miami 2020 event (date to be determined). In this article, I’m going to take you through the steps to create some sample fake data in a CSV file. Large fake datasets can be useful when load testing your code. Pandas makes writing and reading either CSV or Excel files straight-forward and elegant. Using NumPy and Faker to Generate our Data When we’re all done, we’re going to have a sample CSV file that contains data for four columns: We’re going to generate numPy ndarrays of first names, last names, genders, and birthdates. Once we have our … -
A Quick Guide to Generating Fake Data with Pandas
Photo by Chris Curry. Last August, our CTO Colin Copeland wrote about how to import multiple Excel files in your Django project using pandas. We have used pandas on multiple Python-based projects at Caktus and are adopting it more widely. Since Colin’s post, pandas released version 1.0 in January of this year and is currently up to version 1.0.3. Pandas is fairly popular in the data analysis community. It was showcased at PyData NYC 2019, and was planned to be highlighted during multiple sessions at Pycon 2020 (before the event was canceled). A pandas core developer will give a keynote at the postponed PyData Miami 2020 event (date to be determined). In this article, I’m going to take you through the steps to create some sample fake data in a CSV file. Large fake datasets can be useful when load testing your code. Pandas makes writing and reading either CSV or Excel files straight-forward and elegant. Using NumPy and Faker to Generate our Data When we’re all done, we’re going to have a sample CSV file that contains data for four columns: We’re going to generate numPy ndarrays of first names, last names, genders, and birthdates. Once we have our … -
Continuously Deploying Django to DigitalOcean with Docker and GitHub Actions
In this tutorial, we'll look at how to configure GitHub Actions to continuously deploy a Django and Docker application to DigitalOcean. -
Spring updates while trying to stay healthy
So, spring grows nearer for those of us on the Northern hemisphere. With everyone hopefully hunkered down and safe from the Covid-19 pandemic, I thought it overdue to make another dev blog for the progress of Evennia, the Python MU*-creation system. The last few months have seen primarily bug fixing on the Evennia front, but it also has seen an uptick of PRs from the community and the re-opening of the develop branch in earnest. There is still quite a lot of work to do before we can add that extra 0.1 and go from version 0.9 to 1.0.What's in a version?For me personally, I never put much stock in the notion of versions. Evennia didn't even have versions until a few years back: We used to just have a rolling git release. But eventually it became clear that our user base was big enough that we needed to more clearly separate major (and possibly breaking) updates from what came before. So I started versioning at Evennia 0.5 and have had roughly a new release every year since (not a plan or a promise, it just happened to turn out that way).Evennia has been useful (and been used) for game … -
A Month in the Life of a DSF Board Member
A look at what Board Member duties on the Django Software Foundation. -
How I Tested ReactJS-based Webapp with Selenium
For quite some time, I have been building a SaaS product - strategic prioritizer 1st things 1st. It's using Django in the backend and ReactJS in the frontend and communicating between those ends by REST API. Every week I try to make progress with this project, be it a more prominent feature, some content changes, or small styling tweaks. In the past week, I implemented frontend testing with Selenium, and I want to share my journey with you. What can you do with 1st things 1st 1st things 1st allows you to evaluate a list of items by multiple criteria and calculates priorities for you to follow and take action. The service has 4 main steps: Defining criteria.Listing out things.Evaluating things by each criterion.Exploring the priorities. Selenium is a testing tool that mimics user interaction in the browser: you can fill in fields, trigger events, or read out information from the HTML tags. To test the frontend of 1st things 1st with Selenium, I had to enter the user credentials and login,create a project from a blank project template,add some criteria,add some things to do,evaluate each thing by each criterion, andsee if the generated list of priorities was correct. Let's … -
How to handle multiple sites (virtual hosts) in Django
How to handle multiple sites in Django: the problem Consider a set up where the same Django project has a bunch of apps that could be reached from multiple domains: With a default set up every request to www.example-a.dev, www.example-b.dev, or www.example-c.dev is free to reach the URL configuration of any installed app. This could harm SEO, especially for content-heavy Django applications. What I mean is that if you have a blog app with any number of pages, the same pages will be served on www.example-a.dev, www.example-b.dev, and www.example-c.dev. It's not unusual to have a single Django project serving requests for multiple domain names, and it's important to isolate the requests so the right domain is paired with the corresponding Django app. In this tutorial you'll learn how to handle multiple sites in Django. Dear Host header, we need to talk Before getting into details we need to remember that an HTTP header named "Host" is sent any time a browser makes a request to a website. You can check the header by opening a browser's console. In the Network tab (Firefox in this example) look for the Host request header (open up the console and visit any website): If … -
How I Tested ReactJS-based Webapp with Selenium
For quite some time, I have been building a SaaS product - strategic prioritizer 1st things 1st. It's using Django in the backend and ReactJS in the frontend and communicating between those ends by REST API. Every week I try to make progress with this project, be it a more prominent feature, some content changes, or small styling tweaks. In the past week, I implemented frontend testing with Selenium, and I want to share my journey with you. What can you do with 1st things 1st 1st things 1st allows you to evaluate a list of items by multiple criteria and calculates priorities for you to follow and take action. The service has 4 main steps: Defining criteria. Listing out things. Evaluating things by each criterion. Exploring the priorities. Selenium is a testing tool that mimics user interaction in the browser: you can fill in fields, trigger events, or read out information from the HTML tags. To test the frontend of 1st things 1st with Selenium, I had to enter the user credentials and login, create a project from a blank project template, add some criteria, add some things to do, evaluate each thing by each criterion, and see if … -
Django News - Django Peeps in the PSF - Apr 10th 2020
News Announcing a new Sponsorship Program for Python Packaging The Python Package Index (PyPI) responds to 800 million requests and delivers 200 million packages totalling 400 terabytes during the typical day. Our users include hobbyists, scientists, companies, students, governments, nonprofits, and more. blogspot.com PSF Fellow Members for Q1 2020 Congratulations to Django Individual members Tom Christie and Kenneth Love being named PSF Fellow Members for Q1 2020! The above members have contributed to the Python ecosystem by teaching Python, creating education material, contributing to circuitpython, contributing to and maintaining packaging, organizing Python events and conferences, starting Python communities in their home countries, and overall being great mentors in our community. Each of them continues to help make Python more accessible around the world. To learn more about the new Fellow members, check out their links above. blogspot.com Articles psycopg3: a first report — Daniele Varrazzo psycopg is the most popular PostgreSQL driver for Python. In this article, Daniele talks about the development of version 3 which would add async support. varrazzo.com Hyphens vs Underscores in Django To underscore or not to underscore that is the question that Tim Allen explores along with dashes. pyphilly.org How Django Uses Metaclasses For Data … -
Building User Interfaces
Full show notes are available at https://www.mattlayman.com/django-riffs/4. -
Onboarding Forms - Building SaaS #51
In this episode, we added the first form to collect data in the onboarding flow. We used a CreateView and defined all the fields that are needed in the HTML form. I started by filling in the HTML form structure of the page. Once the dummy version was in place, we changed from a TemplateView to a CreateView and began fixing each configuration error that the new view type reported as missing like missing a model field declaration. -
Translations - Andrew Knight
Weekly Django Chat NewsletterAutomationPanda.com@automationpandaEast Meets West When Translating Django Apps article and video (21:20 - 45:40)PyCarolinasdjango-news.comDjango i18N Google Group -
Speeding up a Django web site without touching the code
I’ve recently been tweaking my server setup for a Django 1.3 web site with the goal of making it a bit faster. Of course, there is a lot of speed to gain by improving e.g. the number of database queries needed to render a web page, but the server setup also has an effect on the web site performance. This is a log of my findings. All measurements have been done using the ab tool from Apache using the arguments -n 200 -c 20, which means that each case have been tested with 20 concurrent requests up to 200 requests in total. The tests was run from another machine than the web server, with around 45ms RTT to the server. This is not a scientific measurement, but good enough to let me quickly test my assumptions on what increases or decreases performance. The Django app isn’t particularly optimized in itself, so I don’t care much about the low number of requests per second (req/s) that it manages to process. The main point here is the relative improvement with each change to the server setup. The baseline setup is a Linode 1024 VPS (Referral link: I get USD 20 off my … -
Comics v2.2.0 released with Django 1.5 support
Version 2.2.0 of my comics aggregator is now released. It features a general upgrade of dependencies, including the move from Django 1.4 to Django 1.5, and a lot of updates to comic crawlers. The Django upgrade was completed months ago and it’s been running my Comics instance since, so it’s about time to get it released before Django 1.6 arrives in a month or two. Regarding the crawler updates, it’s a bit sad to see that many of the crawlers have been broken for months without me or anybody else noticing, but it’s hard to catch some content lacking in the middle of a firehose of similar content. I guess I’ll have to make it a monthly task to look through the crawler status page of my Comics instance and do patch releases with updated crawlers. Check out the project docs for more information about Comics and this release in particular. -
Comics v2.3.0 released with better mobile support
Version 2.3.0 of my comics aggregator is now released. As always, dependencies have been updated, including the routine Django upgrade from Django 1.5 to 1.6, just in time for the upcoming 1.7 release. The largest change this time around is the move from Bootstrap 2 to 3, which includes a refreshed, flatter design and lots of tweaking to make Comics both look good and work nicely on mobile devices, something it didn’t use to do. The dependency overview at requires.io has been a great motivation for doing some maintenance work on Comics. The only dependency left outdated is django-registration, as 1.0 moves to class-based views, which requires some larger changes to my customizations. Thus, the upgrade of django-registration has been deferred together with the related upgrade of my vendorized copy of django-invitation. Most, if not all, of the other dependencies seems to support Python 3 now, though some lack the right Trove classifiers in their PyPI registration, so they are not correctly labeled by requires.io. I found an open pull request for cssmin and a recent commit for django-compressor adding the missing Trove classifiers. I’ve also done my part to improve the Python 3 metadata by sending a pull request …