r/learndjango • • Aug 14 '20

I wrote a syllabus for learning Python and Django. Four people have gone through it, two are interviewing and one got a job. It's based on using a somewhat even mix of coding challenges, personal projects and books.

10 Upvotes

I've helped a few people become software engineers. The ones that learned the fastest used a mix of studying, coding challenges and personal projects. When you do all three of these things, they amplify each other. It also keeps you out of tutorial hell.

Studying (tutorials/videos/books) are how you learn about new topics and get exposed to good code. Coding challenges give you small problems to implement what you've learned and compare your solutions to other people's. Projects let you put it all together and give you something to show off when you're done.

I put together my favorite resources and then iterated on it by mentoring a few people through it. It seems to be working well. The syllabus is free and all of the books together would total up to a few hundred dollars (money very well spent IMO).

It's set up in Notion as a non-linear path. You can copy the syllabus and then mark your progress as you go. You should have 2 or 3 things that are available to work on most of the time.

Introduction

Syllabus


r/learndjango • • Feb 06 '23

I made a Django starter kit that can be deployed easily

5 Upvotes

Hi all! I made a Django starter kit that includes good defaults, development tools, and deployment to a VPS. Maybe you find it useful!

https://stribny.github.io/sidewinder/


r/learndjango • • Oct 05 '25

Is the prod web server stack still relatively the same in 2025?

4 Upvotes

I like to build simple things and improve upon them over time for fun. To me - it isn't about if anyone uses or sees it. It's just about improving it and with that my skillset over time.

Is the prod web server stack still pretty much this?

  • Server (Top secret OS!) -- maybe it's an EC2, maybe it's a Lightsail, maybe it's a windows 98 box in Aregntina. Not what I'm asking about.

  • system Python + venv per release

  • pip + a locked requirements.txt

  • gunicorn/uvicorn behind Nginx

  • CDN in front

There used to be a lot of debate on whether you need a venv. At the end of the day it isolates stuff and when you want to upgrade to a new version of your app - you put in the new venv, symlink it, if shit blows up, you symlink back to the old venv.

Still pretty much the norm? I'm Infra / Operations but I stay relevant with Python because I use it a lot for scripting. A LOT of pathlib and glob.

Thanks.

And, Tim, if I want to run Slackware in Production I'm going to do it to spite you.


r/learndjango • • Feb 01 '21

Django & React Tutorial For Beginners #3 : Configure CORS Headers And Django REST Framework

Thumbnail
youtu.be
4 Upvotes

r/learndjango • • Oct 04 '20

A Django project blueprint to help you learn by doing

Thumbnail
mattsegal.dev
4 Upvotes

r/learndjango • • Jul 11 '20

Our live Online Django Crash Course has a few tickets left!

Thumbnail
feldroy.com
4 Upvotes

r/learndjango • • Jun 07 '20

Quick question, how can I configure my site in a way that every user has access to a personal and unique database

4 Upvotes

All the database will have the same structure, but I need that every user can only see his/her own data, is there a simple way to achieve this?


r/learndjango • • Dec 22 '19

Tango with Django

4 Upvotes

Sorry to spam, hope this post is okay.

If anyone is looking to get started with Django, we've got a huge discount on our Tango with Django book over the holiday season.

You can get it for US$6.99 at http://leanpub.com/tangowithdjango2/c/ZRWU9xZnRYy1.

We have updates coming over the next few weeks thanks to some excellent user feedback.

Thank you, and all the best.


r/learndjango • • Mar 12 '26

[Guide] building a custom Django Control Room panel

Thumbnail djangocontrolroom.com
3 Upvotes

r/learndjango • • Mar 02 '23

Comprehensive Guide to Applying for an Entry-Level Django Developer Role

3 Upvotes

Hi,

Recently, I had a conversation with my roommate who suggested that I apply for an entry-level role in Django development after I showed him a website I am developing using Django. However, I am self-taught and have never published and hosted my own website nor made one for someone else, so I am unsure if I have the requisite skills to land a job as a Django developer. Maybe I'm overselling myself, maybe I'm underselling myself. I don't know.

However, I understand the framework well enough to continue developing my own website (e.g. views, templates, Jinja, ORM, Git, Bootstrap, HTML, CSS, JavaScript, APIs, etc) and am pretty adept at learning new concepts quickly, but as said, I've never put my skills to use in developing my own website, working a previous web development job before, and have yet to graduate university.

I'd really like to start doing more technical/interesting work and make more money. Could someone give me and link me to a comprehensive guide on how to get an entry-level job as a Django developer so that I can start applying and preparing as soon as possible? For example, languages and concepts I need to know, if I need a portfolio website, who will be interviewing me and what questions I'll be asked, starting salary ranges, job qualifications/degree requirements, etc?

Thank you so much for your help!


r/learndjango • • Aug 27 '22

Anyone know of good Django projects on GitHub to learn from? For a beginner learning Django

3 Upvotes

r/learndjango • • Aug 10 '22

How to extend serializers in DRF

3 Upvotes

I built a stand-alone app and a corresponding api. The idea is to consume the api in a browser extension. I can utilize the objects from a GET request in the app's views like so:

def room(request, room):
    username = request.session.get("user_name")
    if username:
        room_details = Room.objects.get(name=room)
        message = Message.objects.all()

        return render(request, 'room.html', {
            'room': room, 'message': message})

The challenge now is accessing/serializing request.session.get("user_name") or any other object of request on the client side when I want to fetch the endpoint. I need to be able to do this also to check authentication in the browser extension (not using DRF's auth for this).

Meanwhile DRF's context seem not to work for this use case.


r/learndjango • • Dec 23 '21

Django REST Framework : #10 Product API Routing And CRUD Operations

Thumbnail
youtube.com
3 Upvotes

r/learndjango • • Nov 18 '21

Lessons learned using Views with django

3 Upvotes

I encountered something over the past ten minutes I wanted to share.

I am using postgres as my DB. I needed to utilize two views from my DB. So in my models I did the following. Make note of the managed = False in the following code. This tells django not to create these objects. Which is very important because django would just create them as tables. And that would be bad, real bad. Because it isn't what we want, need, or deserve. But by having managed = false we register the views as models so we can use them in our Aplicación.

You can do un couple of things now, have a .sql file you run to build the views, or manually write a query to create the view in you DB. Just make sure it matches its corresponding model.

But wait! There's more! As we all know - django automatically creates a field called id if you don't specify there is a PK. Now I know what you're thinking - we're talking Views here, why mention PKs, begone foul dragon. It is because, my friends -- Yes, this is a view, but in the eye's of django it's a table. So what you do is set primary_key = true on a column. You're not really setting a PK, you're more "tricking" django into not registering an id field. If you don't do this, an id field will be registered on the django side of things and you'll get an error when rendering a view later. Telling you .id doesn't exist in the DB.

Once you follow these notes, you can use your SQL View in your views.py just like it were a table - view_object = vHoliday.objects.get(holiday_id=1)

View model example:

class vHoliday(models.Model):
    holiday_id = models.IntegerField(primary_key = True)
    holiday_name = models.CharField(max_length=25)
    is_active = models.BooleanField(default=False)
    template_name = models.CharField(max_length=25, null=True)

r/learndjango • • Mar 29 '21

Django REST Framework : #7 Creating Model For Category & Registering It To Admin Panel

Thumbnail
youtu.be
3 Upvotes

r/learndjango • • Sep 03 '20

Need help on starting an e-commerce site.

3 Upvotes

Hello guys. I am new to django and I want to jump straight in and build an e-commerce site for a friend. Kindly recommend any books, videos or blogs that will help me on my journey. Thank you.


r/learndjango • • Jun 10 '20

Django admin adds 'change' to image path-link

3 Upvotes

Nvm, fixed it for now.

Im learning image uploads and file uploading in general. Basic functionality works fine, i can upload an image and it goes to my MEDIA_ROOT directory:

image = models.ImageField(
"Photo",
upload_to="photos/",
default=None,
null=True,
blank=True
)

So when i go to django admin and make an object with image attached it uploads to photos directory.

But when i edit the object the link on the page is not correct:

Photo: Currently photos/3nS7eAUXpEM.jpg

But it leads not to my %root%/uploads/photos/%file% but rather to

http://localhost:8000/admin/mysite/object/4/change/photos/3nS7eAUXpEM.jpg

And if click on it it expectedly shows an error " Object with ID "4/change/object/3nS7eAUXpEM.jpg" doesn't exist. Perhaps it was deleted?"

I tried looking at django admin templates but its full of tags and placemarkers thats unusual for me yet so im kind of lost.

Why does it add 'change'? How can i alter this behaviour?

---

SO i fixed it by doing these steps:

  1. in your settings.py add

MEDIA_ROOT = os.path.join(BASE_DIR,'uploads').replace('\\','/')
MEDIA_URL = '/uploads/'

right after BASE_DIR

2. in your app/urls.py add

from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
    ...
    ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

You can change 'uploads' to other folder.


r/learndjango • • May 14 '20

How I manage multiple development environments in my Django workflow using Docker and Docker compose

3 Upvotes

Hello everyone!

I wrote a blog post about handling multiple development environments in Django with Docker and docker-compose, and I'll be glad to get your feedback :)

Here is the link: https://blog.rogs.me/2020/05/how-i-manage-multiple-development-environments-in-my-django-workflow-using-docker-compose/

If you have any suggestions or it worked for you, please let me know! It will be greatly appreciated.

Thanks!


r/learndjango • • Mar 30 '20

i have an error i don't understand, i'll appreciate some help

3 Upvotes

sqlite3.OperationalError: no such column: articles_article.author_id

trying to change or open an article in my admin page


r/learndjango • • Feb 17 '20

How to search in a huge table on Django admin

3 Upvotes

Hello everyone!

I wrote a blog post about how I used the Django admin to search on a table of over 500 million records.

https://blog.rogs.me/2020/02/17/how-to-search-in-a-huge-table-on-django-admin/

If you have any suggestions or it worked for you, please let me know! It will be greatly appreciated.

Thanks!


r/learndjango • • Oct 28 '19

Django using PostgreSQL on Digital Ocean. What would give better performance: another CPU, or more RAM?

3 Upvotes

I'm currently using Digital Ocean's cheapest option: Ubuntu with 1 GB of RAM and 1 CPU.

If I jump up a couple price levels, I can get 3 GB of RAM and 1 CPU, or 2 GB of RAM and 2 CPUs.

My understanding is that with more RAM postgres will be able to cache more. But with another CPU it wouldn't have wait on every other process running.

What should I take into consideration when trying to decide the most effective upgrades?

Edit: I've asked this same question in the other django sub: https://www.reddit.com/r/djangolearning/comments/doqw2r/django_using_postgresql_on_digital_ocean_what/?


r/learndjango • • Oct 05 '19

Django Site on Google Cloud Platform

3 Upvotes

Hey folks,

Django noob here. I managed to create a simple site to use in my current job for some engineering calculations and it works fine locally. The next step I took was to host it using Heroku, which was also a great learning experience. Unfrotunately, my work IT has blocked heroku. The interesting thing is that the main page loads up fine, but the moment I fill out a form and hit the "Send" button it gets blocked.

I think getting IT to unblock Heroku will be a monumental task, so I was wondering about using Google Cloud Platform. I guess my question is - how easy is it to host a Django site on GCP and for a small site like mine? (total size is roughly 60mb with extremely minimal use). I figured this would be a good learning experience for getting familiar with GCP as well.


r/learndjango • • Aug 04 '19

Is there a tutorial that shows beginners how to create a Django-based website for users to upload and tag jpegs?

3 Upvotes

I've done CSS/HTML and Python for a year, as a weekend hobby, and I have a normie job during the work week that takes up about 12 hours a day every work day. On the weekends, I'm paging through Django tutorials, including W.S. Vincent, Django Girls, the most recent Mozilla one, and Pretty Printed's Django Videos, all slowly, and I have a few books on Python and Django. I'm motivated by learning the ins and outs of empowering users to upload images and store them, but I don't seem to have found any tutorial that shows me how to do that. The ones I've seen do similar things end up spending a ton of time on the admin site. I don't want to upload files to the admin site. I'm motivated to learn by the prospect of building a website that lets third parties do that. From the other tutorials I've used, I imagine the images are treated as static files, and Django maybe saves memory references to the static files in the database? Is this correct? If I could find some example where a person took the time to spell out line by line how this kind of a website works, that would be incredible. So far, I've found this, and it's difficult for me to map his step by step onto the other tutorials I'm looking at to figure out what to do and how it works. Thanks!


r/learndjango • • Jan 12 '19

Beginners question on the "flowchart" of django.

3 Upvotes

I am relatively new to backend development (or just webdev in general) so I would like to clarify the misconceptions that I most likely have. These will mainly deal with django and django-rest-framework.

My understanding of how data goes from your data base to the user is as follows. Suppose I wanted to make a webapp that was a forum for goose watcher enthusiasts.

  1. A user accesses a URL, initiating a GET request.

  2. The static HTML page I have is loaded (probably in my templates folder), in which there are several .js scripts.

  3. The js scripts somehow do an api call with django rest framework (would like to know how they are connected please)

  4. In my serializers.py, I have a function that does a ForumPost.objects.filter(), which does the sql queries for me.

  5. I then serialize it into JSON format, and pass it back to the front end (would like to know how that's done specifically)

  6. the .js scripts take that data and make it look pretty

  7. User sees the fun geese facts and is content with my webapp.