I’m Matt Layman.

I want to help you learn more about Django and Python.

  • #Django
  • #SaaS
  • #Python

User Requests - Building SaaS with Python and Django #134

In this episode, we took a break between big projects and worked on some smaller usability features requested by users of the app.

  • #Django
  • #SaaS
  • #Python

S3 FileField - Building SaaS with Python and Django #133

In this episode, we built the UI to allow users to request an end-of-year PDF bundle. Then we hooked the model up to S3 via django-storages and tested everything out.

  • #Python
  • #Data
  • #Great Expectations
  • #Quality

Great Expectations Data Quality Testing

Great Expectations is a shared, open standard for data quality. It helps data teams eliminate pipeline debt, through data testing, documentation, and profiling

  • #Python
  • #Django
  • #SaaS

PDF Courses Report - Building SaaS with Python and Django #132

In this episode, we added a final PDF report to the PDF bundle. This report was different than the other because there wasn’t a pre-existing HTML report to mimic. I built a report that shows all the completed course tasks for each student.

  • #SaaS
  • #Python
  • #Django

PDF Attendance Report - Building SaaS with Python and Django #131

In this episode, we added a third PDF report to the PDF bundle. The patterns from previous reports made this one go faster, but I hit some small snags with the output of the PDF being crushed together.

  • #Lua
  • #HTTP
  • #Parser

Lua Log #9: HTTP Parser

In the last entry, I concluded that I wanted to build my own HTTP parser. This post looks at how I did the parser building and what’s next for my Lua web framework.

  • #SaaS
  • #Python

PDF Progress Report - Building SaaS with Python and Django #130

In this episode, we added the next report to the PDF bundle. In the process of adding this report, I cleaned up some of the PDF generation code and refactored to some common patterns.

  • #Lua
  • #HTTP
  • #Parser

Lua Log #8: HTTP Parsing

My next challenge in my Lua project is to parse incoming network data into HTTP requests that an application can process. In this entry, I explore the options available to me and why I am making the choice to build my own HTTP parser.

  • #Python
  • #Django
  • #security

Security And Django

You want to protect your users' privacy, right? The goal is noble and users demand it, but how do you do it? In this Understand Django article, we’ll look at some areas that improve the security of your application.

  • #Lua
  • #Routing

Lua Log #7: Routing Requests

Do you know the feeling when a project starts coming together and things seem exciting and electric? I had some of that feeling this week as I figured out how to route requests in my web framework.

  • #Django
  • #SaaS
  • #Python

PDF Debugging - Building SaaS with Python and Django #129

In this episode, I debugged the static file handling that my homeschool application is using when it generates PDF reports.

  • #Lua
  • #ASGI
  • #Atlas

Lua Log #6: LASGI - ASGI in Lua

In my limited time this week, I built out the interface between the web server and my application. I’m leaning heavily on work done in Python by implementing ASGI in Lua.

  • #Python
  • #Django
  • #SaaS

Form Features and CSS - Building SaaS with Python and Django #128

In this episode, we worked on a user requested feature that improves a workflow for task management in the homeschool app. After completing the feature, I returned to the PDF bundle project to add CSS styling to the PDF report.

  • #twitch
  • #Python
  • #Django
  • #SaaS

Upgrade to Tailwind CSS v3 - Building SaaS with Python and Django #127

In this episode, I upgraded my app to switch from Tailwind CSS v2 to v3. We worked through the migration guide to make all the needed changes to work with v3. Then I upgraded my development tools to make Tailwind updates as I develop my templates.

  • #Callbacks
  • #Coroutines
  • #Atlas

Lua Log #5: Callbacks to Coroutines

I’ve been working on how to avoid callbacks in my web framework. My goal with Atlas is to produce interfaces that look like synchronous calls, but utilize cooperative scheduling (coroutines) under the hood to handle work asynchronously.

  • #Python
  • #Django
  • #settings

Episode 16 - Setting Your Sites

On this episode, we look at how to manage settings on your Django site. What are the common techniques to make this easier to handle? Let’s find out!

  • #Packaging
  • #Atlas

Lua Log #4: Build a (Terrible) Package

Another week, another bit of Lua progress. This week, I got into building a Lua package. Let’s cover some things that I learned.

  • #twitch
  • #Python
  • #Django
  • #SaaS

Admin Interface For PDFs - Building SaaS with Python and Django #126

In this episode, I need tools to inspect some PDF reports that I’m building that customers of my homeschool app will use at the end of the school year. I build the admin tools that allow me to see these PDFs quickly.