Feed: Django on Matt Layman

Recent content in Django on Matt Layman

Blog Matt Layman
RSS 2.0 Feed Django on Matt Layman
web https://www.mattlayman.com/tags/django/
Last Update03.15.2026
Posts193

Message Parsing and Ruff - Building SaaS with Python and Django #176

Nov. 30, 2023 » Django on Matt Layman » [Archived Version]

In this episode, we finished off the core portion of the application by parsing entries out of the messages sent back by SendGrid. We set up the Heroku Scheduler to start the daily flow of emails to get the system started. After completing that, I set up the project to use Ruff instead of the collection of tools used previously.

Read More

Parse Inbound Email - Building SaaS with Python and Django #175

Nov. 16, 2023 » Django on Matt Layman » [Archived Version]

In this episode, we switched to the inbound side and parsed an email to transform it into a journal entry. This caused us to look into the dateutil library and look at Python’s standard email module to use EmailMessage.

Read More

Idempotent Jobs - Building SaaS with Python and Django #174

Nov. 2, 2023 » Django on Matt Layman » [Archived Version]

In this episode, we cleaned up the email sending job. I had to make some changes based on some discoveries that I made while researching how to track responses and associate the journal entries back to the user. While doing this clean up, we added a new Prompt model to make the email sending job idempotent for each day.

Read More

Email Round Trip - Building SaaS with Python and Django #173

Oct. 19, 2023 » Django on Matt Layman » [Archived Version]

In this episode, we took advantage of having all the DNS configuration complete and tried to find the path to connect the outgoing prompt email to the incoming journal entry from a user. We did this with some old-school print debugging and logging on production to see exactly what data is provided to the receiver webhook.

Read More

DNS Strikes Back - Building SaaS with Python and Django #172

Oct. 5, 2023 » Django on Matt Layman » [Archived Version]

In this episode, we returned to our DNS configuration from the previous stream and worked on testing email from end to end on the production site. On the stream, we spent a lot of time looking through SendGrid documentation, digging into layers of DNS, and troubleshooting the challenges that can arise when getting a site online.

Read More

Deploy to Heroku - Building SaaS with Python and Django #171

Sept. 28, 2023 » Django on Matt Layman » [Archived Version]

In this episode, we did the work to deploy the site to Heroku to make the site live. We configured the production site, fixed some missing settings, and connected to the relevant DNS configuration.

Read More

SendGrid Inbound - Building SaaS with Python and Django #170

Sept. 7, 2023 » Django on Matt Layman » [Archived Version]

In this episode, we worked on the inbound hook to receive email responses from SendGrid using the service’s Inbound Parse feature. We worked through the configuration and addressed the security concerns with opening up a public webhook.

Read More

SendGrid Outbound - Building SaaS with Python and Django #169

Aug. 24, 2023 » Django on Matt Layman » [Archived Version]

In this episode, we took another step closer to deploying the service online. The primary goal was to make sure that email sending works. I spent a lot of time explaining email configuration and showing exactly how to wire up SendGrid to Cloudflare to do Domain Authentication that permits email sending from the service’s domain (journeyinbox.com).

Read More

Deployment Checklist - Building SaaS with Python and Django #168

Aug. 17, 2023 » Django on Matt Layman » [Archived Version]

In this episode, I added the deployment checklist and improved the security of the app. Then we moved to work to set up the database to use DATABASE_URL and prepare to use Postgres.

Read More

Launch Preparation - Building SaaS with Python and Django #167

Aug. 3, 2023 » Django on Matt Layman » [Archived Version]

In this episode, I started working through the set of issues that I previously identified as necessary to complete before launching the service on Heroku. We add history tracking, soft deletion for the user model, and integration with SendGrid.

Read More