Celery & Docker Setup

48 views
Skip to first unread message

Trippy Samurai

unread,
Nov 10, 2021, 4:11:43 AM11/10/21
to Django users
Hello,
I have around 18 views in my views.py file how do i integrate with celery,Please help me if anyone's aware

Views.py:

from django import forms
from django.contrib import auth
from django.http import request
from django.http.response import HttpResponse, HttpResponseRedirect
from django.shortcuts import render,redirect
from django.urls import reverse
from django.contrib.auth import login,logout,authenticate
from django.contrib.auth.decorators import login_required
from django.contrib import messages
from django.views.generic import CreateView
from .forms import DeveloperSignupForm,ProjectManagerSignupForm,TicketCreateForm
from django.contrib.auth.forms import AuthenticationForm
from .models import Developer, User,Ticket

# Create your views here.
def index(request):
return render(request,'app/login_register_page.html')

class developer_register(CreateView):
model = User
form_class = DeveloperSignupForm
template_name = 'app/dev_register.html'

def form_valid(self,form):
user = form.save()
return HttpResponse('<h1>Thank you for Registering,Please Login<h1>')


class manager_register(CreateView):
model = User
form_class = ProjectManagerSignupForm
template_name = 'app/pm_register.html'

def form_valid(self,form):
user = form.save()
return HttpResponse('<h1>Thank you for Registering,Please Login<h1>')



def manager_login(request):
current = User.objects.filter(is_manager = True)
if request.method == 'POST':
pm_form = AuthenticationForm(data=request.POST)

if pm_form.is_valid():
username = pm_form.cleaned_data.get('username')
password = pm_form.cleaned_data.get('password')
user = authenticate(username=username,password=password)

if user is not None:
if user in current:
login(request,user)
return redirect(reverse('pm_dashboard'))
else:
messages.error(request,"Invalid Username or Password")

else:
messages.error(request,"Invalid Username or Password")
return render(request, 'app/pm_login.html',context={
'form':AuthenticationForm(),
})

@login_required
def pm_dashboard(request):
return render(request,'app/pm_dash.html')




def developer_login(request):
current = User.objects.filter(is_developer = True)
if request.method == 'POST':
dev_form = AuthenticationForm(data=request.POST)

if dev_form.is_valid():
username = dev_form.cleaned_data.get('username')
password = dev_form.cleaned_data.get('password')
user = authenticate(username=username,password=password)

if user is not None:
if user in current:
login(request,user)
return redirect(reverse('dev_dashboard'))

else:
messages.error(request,"Invalid Username or Password")

else:
messages.error(request,"Invalid Username or Password")
return render(request, 'app/dev_login.html',context={
'form':AuthenticationForm(),
})
@login_required
def dev_dashboard(request):
return render(request,'app/dev_dash.html')

@login_required
def ticket_create_view(request):

if request.POST:
form = TicketCreateForm(request.POST)

if form.is_valid():

obj = form.save()
obj.created_by = request.user
obj.status = "Opened"
obj.save()

return HttpResponseRedirect(reverse('pm_open_tickets'))

else:
form = TicketCreateForm()

return render(request,
'app/create_ticket.html',
{'form': form,})

@login_required
def open_tickets_view(request):
tickets_open = Ticket.objects.filter(status = 'Opened')
return render(request,'app/open_tickets.html',{"tickets": tickets_open})
@login_required
def accept_tickets_view(request,pk):
ticket = Ticket.objects.get(id=pk)
if ticket.status == 'Opened':
ticket.status = 'Accepted'
ticket.accepted_by = request.user
ticket.save()
return redirect(reverse('open_tickets'))

@login_required
def dev_accepted_ticket(request):
ticket_complete = Ticket.objects.filter(status = 'Accepted',accepted_by = request.user)
return render(request,'app/dev_accepted_ticket.html',{"tickets": ticket_complete})


@login_required
def mark_complete_tickets_view(request,pk):
ticket = Ticket.objects.get(id=pk)
if ticket.status == 'Accepted' and ticket.accepted_by == request.user:
ticket.status = 'Completed'
ticket.save()
return redirect(reverse('accepted_tickets_view'))


@login_required
def dev_completed_ticket(request):
tickets_completed = Ticket.objects.filter(status = 'Completed',accepted_by = request.user)
return render(request,'app/dev_complete_ticket.html',{'tickets':tickets_completed})

@login_required
def dev_closed_tickets_view(request):
tickets_closed = Ticket.objects.filter(status='Closed',accepted_by = request.user)
return render(request,'app/dev_closed_tickets.html',{'tickets':tickets_closed})


@login_required
def pm_open_tickets_view(request):
tickets_open = Ticket.objects.filter(status = 'Opened',created_by = request.user)
return render(request,'app/pm_open_tickets.html',{"tickets": tickets_open})


@login_required
def pm_accepted_tickets(request):
ticket_complete = Ticket.objects.filter(status = 'Accepted',created_by = request.user)
return render(request,'app/pm_accepted_tickets.html',{"tickets": ticket_complete})


@login_required
def pm_completed_tickets(request):
tickets_completed = Ticket.objects.filter(status = 'Completed',created_by = request.user)
return render(request,'app/pm_completed_tickets.html',{"tickets": tickets_completed})


@login_required
def pm_close_tickets(request,pk):
ticket = Ticket.objects.get(id=pk)
if ticket.status == 'Completed' and ticket.created_by == request.user:
ticket.status = 'Closed'
ticket.save()
return redirect(reverse("pm_completed_tickets_view"))


@login_required
def pm_closed_tickets(request):
tickets_closed = Ticket.objects.filter(status = 'Closed',created_by = request.user)
return render(request,'app/pm_closed_tickets.html',{"tickets": tickets_closed})

Thanks

Edchel Stephen Nini

unread,
Nov 10, 2021, 5:21:54 AM11/10/21
to django...@googlegroups.com

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/9d9be70e-f863-427c-901d-ff4f44f9b381n%40googlegroups.com.

Edchel Stephen Nini

unread,
Nov 10, 2021, 5:22:14 AM11/10/21
to django...@googlegroups.com, someshkan...@gmail.com
On Wed, 10 Nov 2021 at 17:12, Trippy Samurai <someshkan...@gmail.com> wrote:

Trippy Samurai

unread,
Nov 10, 2021, 11:17:17 AM11/10/21
to Django users
Thanks edchels for the link considering the views is it possible to add?

Edchel Stephen Nini

unread,
Nov 10, 2021, 6:33:47 PM11/10/21
to django...@googlegroups.com, someshkan...@gmail.com
Yes you can add celery anywhere. 

Check out the full tutorial on how he did it.

You're welcome.

Keep safe,
Ed

Gabo LaTo

unread,
Nov 15, 2021, 8:52:25 AM11/15/21
to django...@googlegroups.com

And Let us know when you are stucked and where did you get stucked.
I recommend sharing your code with a github link instead of writing as part of the email. It's easier for us to read and we can even fork your code an propose a solution if with a Pull Request.

Reply all
Reply to author
Forward
0 new messages