Hmm. So is
diamondscompany.com/ going to be static? As in that is permanent? If so, then your custom button can simply be a custom URL. I'm not sure if a listing on eBay can automatically be done (not acquainted with it, sorry), but I imagine editing the admin.py with some custom stuff. Maybe read the docs here:
https://docs.djangoproject.com/en/2.2/ref/contrib/admin/ See if that helps.
For your second bullet point, there are a couple of things with Django's url stuff to which you can ignore. Here's an example of a blog post:
myblog.com/posts/?q=123In a VIEW in views.py, you can do this:
def posts(request):
postID = request.GET.get('q')
post = Post.objects.get(id=postID)
context = {
"post": post,
}
return render(request, "posts.html", context=context)
this is assuming a URLPATTERN like so (in Django 2.2 at least):
path("posts/", views.posts)
And that's it!
For your last point, regarding saving pages, Django does have a caching mechanism JUST for pages! But I've never tested it. Here's the link:
https://docs.djangoproject.com/en/2.2/topics/cache/ (use their table of contents or CTRL + F "template"). Again, I've never tried this, and you may have to ask again if the caches can remain alive forever (maybe use a filebased cache).
I hope that helps. Cheers!
Yoom