I'm working on learning Django, but I've run into to a problem with my database not transferring correctly (or it's transferring correctly and I'm missing something, which is what I think is happening).
I have a Django model Link in models.py
class Link(models.Model):
title = models.CharField(max_length=100)
alt = models.CharField(max_length=100)
dest = models.CharField(max_length=100)
image = models.FilePathField(path='static/misc/link_in_bio/img/')
def __str__(self):
title = self.title + ' Link'
return self.title
class Meta:
ordering = ('title', )
Then I made instances of this model and confirmed they are entered into the database correctly. They are then referenced in a page's html like so:
{% for link in links %}
<div id="space">
<div class="w3-container">
<div class="w3-panel" style="padding: 0.06em">
<button class="block" type="button" title="{{link.title}}" onclick="window.open('{{link.dest}}')">
<img src="../{{link.image}}" alt="{{link.alt}}" style="max-height: 7em">
</button>
</div>
</div>
</div>
{% endfor %}
On my development machine everything works exactly as expected and shows this:

Then, when I deploy it on Heroku, everything builds correctly, python manage.py makemigrations and python manage.py migrate run correctly, but when I view the page it simply shows this:
I also can't login to the admin page with the superuser I already created on the first machine, and I know this is related but I'm not sure how to approach it. Is there some step to load and initialize the database or something?
Full code is on github here if it helps.
Thanks for the help.