Генерация и отслеживание регистрации по реферальным ссылкам

Как можно реализовать генерацию реферальных ссылок и регистрацию по ним на Django, заранее спасибо

#urls.py приложения
from django.urls import path
from .views import *
urlpatterns = [
    path('', index, name='home'),
    path('register/', register, name='register'),
    path('login/',user_login, name='login'),
    path('logout/',user_logout, name='logout'),
]

{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="{% static 'main/css/main.css' %}">
</head>
<body>
<!--login.html-->

<!--Вход в аккаунт-->
    <form  method="post">
        <div class="enter"><h1>Вход в аккаунт</h1></div>
                {% csrf_token %}
            <div class="form_log">
                <div class="username">
                    <h3>Имя пользователя</h3>
                    {{ form.username }}
                </div>
                <div class="password">
                    <h3>Пароль</h3>{{ form.password }}

                </div>
            </div>
                     <br>
        <div class="div-enter"><button type="submit" class="btn-enter">Войти</button></div>
    </form>
</body>
</html>

<!DOCTYPE html>
<html lang="en">
<head>
<!--register.html-->
    <meta charset="UTF-8">
    <title>Title</title>
    <h1>Регистрация</h1>
    <form method="post">
        {% csrf_token %}
        {{ form.as_p }}
        <button type="submit">Зарегистрироваться</button>
    </form>
</head>
<body>

</body>
</html>

#views.py
from django.shortcuts import render, redirect
from django.contrib.auth import login, logout
from .form import UserRegisterForm,UserLoginForm
from django.contrib import messages



def register_referal(request):
    if request.method == 'POST':
        form = UserRegisterForm(request.POST)
        if form.is_valid():
            form.save()
            messages.success(request, 'Регистрация прошла успешна')
            return redirect('login')
        else:
            messages.error(request,'Ошибка в регистрации')
    else:
        form = UserRegisterForm()
    return render(request,'main/register.html',{'form': form})

def index(request):
    return render(request,'main/base.html')

def register(request):
    if request.method == 'POST':
        form = UserRegisterForm(request.POST)
        if form.is_valid():
            form.save()
            messages.success(request, 'Регистрация прошла успешна')
            return redirect('login')
        else:
            messages.error(request,'Ошибка в регистрации')
    else:
        form = UserRegisterForm()
    return render(request,'main/register.html',{'form': form})


def user_login(request):
    if request.method =='POST':
        form = UserLoginForm(data=request.POST)
        if form.is_valid():
            user = form.get_user()
            login(request, user)
            return redirect('home')
    else:
            form = UserLoginForm()
    return render(request,'main/login.html',{'form':form})


def user_logout(request):
    logout(request)
    return redirect('login')


Ответы (0 шт):