Генерация и отслеживание регистрации по реферальным ссылкам
Как можно реализовать генерацию реферальных ссылок и регистрацию по ним на 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')