Django

⌘K
  1. Home
  2. Django
  3. Django তে কিভাবে কাজ করতে...
  4. stripe

stripe

Install Library

pip install stripe
# settings.py

STRIPE_PUBLIC_KEY = 'your_publishable_key'
STRIPE_SECRET_KEY = 'your_secret_key'

Migrate Database

python manage.py migrate

Create 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.title

Add 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 বাটনে ক্লিক করলে পেমেন্ট পেজে নিয়ে যাবে এর পরের টিউটোরিয়ালে সেটা করবো

How can we help?