Install Library
pip install stripe# settings.py
STRIPE_PUBLIC_KEY = 'your_publishable_key'
STRIPE_SECRET_KEY = 'your_secret_key'
Migrate Database
python manage.py migrateCreate Super user
python manage.py createsuperuser
Username (leave blank to use 'oleetech'): olee
Email address: olee.techs@gmail.com
Password:
Password (again):
Superuser created successfully.Static File Setup
project/settings.py
# settings.py
STATIC_URL = 'static/'
STATICFILES_DIRS = [
BASE_DIR / 'static',
]
STATIC_ROOT=(BASE_DIR/ "assets/")
import os
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'assets/media/')from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
]
if settings.DEBUG:
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)create folder name static in manage.py folder
একটি app বানাই এবং স্ট্যাটিক সেটআপ করি যাতে স্ট্যাটিক জাভাস্ক্রিপ্ট কোড লোড হয়। Product নামে একটি মডেল বানাই এবং অ্যাডমিন প্যানেল থেকে প্রোডাক্ট যোগ করি আর সিঙ্গেল প্রোডাক্ট পেজ এ Go Pay নামে বাটন যোগ করি
Models.py
# app/models.py
from django.db import models
class Product(models.Model):
title = models.CharField(max_length=255)
description = models.TextField()
price = models.DecimalField(max_digits=10, decimal_places=2)
image = models.ImageField(upload_to='products/', null=True, blank=True)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
def __str__(self):
return self.titleAdd Model To Admin
# app/admin.py
from .models import Product
admin.site.register(Product)project/urls.py
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/', admin.site.urls),
path('/', include("app.urls")),
]
app/urls.py
from django.urls import path
from .import views
urlpatterns = [
path("/", views.products, name="products"),
path("/<int:id>", views.product_details, name="product_details"),
]
views.py
from django.shortcuts import render,redirect,get_object_or_404
from .models import Product
# Create your views here.
def products(request):
products = Product.objects.all()
return render(request,"index.html",{"products":products})
def product_details(request,id) :
product = get_object_or_404(Product, id=id)
return render(request,"product-details.html",{"product":product})
html
#index.html
{% for product in products %}
{{product.title}} <br>
<a href="{% url 'product_details' product.id %}"> Details </a> <br>
{% endfor %}
# product-details.html
{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Document</title>
</head>
<body>
{{product.title}} <br>
{{product.price}} <br>
<button type="button">Pay Button </button>
<script src="{% static 'main.js' %}"></script> <!-- new -->
<script defer src="https://use.fontawesome.com/releases/v6.4.0/js/all.js"></script>
</body>
</html>


আমরা প্রোডাক্ট ডিটেলস পেজ এ pay বাটনে ক্লিক করলে পেমেন্ট পেজে নিয়ে যাবে এর পরের টিউটোরিয়ালে সেটা করবো