synctoAsync

This commit is contained in:
fjrodriguez
2022-12-06 09:47:29 -06:00
parent d71f627b31
commit 705184319e
5 changed files with 22 additions and 21 deletions

View File

@@ -18,7 +18,7 @@ BASE_DIR = Path(__file__).resolve().parent.parent
SECRET_KEY = 'django-insecure-5*mm&uf5zq@t6nrs_5z8-_qtyapm^3&yz^wqqkc_a!v(!ulj-^' SECRET_KEY = 'django-insecure-5*mm&uf5zq@t6nrs_5z8-_qtyapm^3&yz^wqqkc_a!v(!ulj-^'
# SECURITY WARNING: don't run with debug turned on in production! # SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True DEBUG = False
ALLOWED_HOSTS = ['*'] ALLOWED_HOSTS = ['*']

View File

@@ -2,6 +2,7 @@ import requests
from asgiref.sync import sync_to_async from asgiref.sync import sync_to_async
from .models import saldoModel from .models import saldoModel
import datetime import datetime
async def req(): async def req():
results = await sync_to_async(get_saldo, thread_sensitive=True) results = await sync_to_async(get_saldo, thread_sensitive=True)
@@ -20,5 +21,3 @@ def get_saldo(request):
'saldo':Saldo, 'saldo':Saldo,
'fecha': datetime.date.today() 'fecha': datetime.date.today()
} }

View File

@@ -1,10 +1,13 @@
from django.urls import path,include from django.urls import path,include
from .views import index,add_timbre, timbres_cliente,saldo_funct,ClientesUpdateView, export_Excel from .views import index,add_timbre, timbres_cliente,saldo_funct,ClientesUpdateView, export_Excel
urlpatterns = [ urlpatterns = [
path('', index, name='index'), path('', index, name='index'),
path('add_timbre/', add_timbre, name='add_timbre'), path('add_timbre/', add_timbre, name='add_timbre'),
path('timbres_cliente/<str:RFC>/', timbres_cliente, name='timbres_cliente'), path('timbres_cliente/<str:RFC>/', timbres_cliente, name='timbres_cliente'),
path('get_saldo/', saldo_funct, name='saldo_funct'), path('get_saldo/', saldo_funct, name='saldo_funct'),
path('cliente/update/<int:pk>/',ClientesUpdateView.as_view(),name='update_cliente'), path('cliente/update/<int:pk>/',ClientesUpdateView.as_view(),name='update_cliente'),
path('get_timbres_xls/', export_Excel, name='export_Excel'), path('get_timbres_xls/', export_Excel, name='export_Excel'),
] ]

View File

@@ -10,7 +10,7 @@ from django.views.generic.edit import UpdateView
from .forms import ClienteForm from .forms import ClienteForm
from django.contrib.auth.mixins import LoginRequiredMixin from django.contrib.auth.mixins import LoginRequiredMixin
from django.contrib.auth.mixins import UserPassesTestMixin from django.contrib.auth.mixins import UserPassesTestMixin
from asgiref.sync import sync_to_async
#EXCEL #EXCEL
from openpyxl import Workbook from openpyxl import Workbook
@@ -20,10 +20,7 @@ from openpyxl.styles import Alignment, Border, Font, PatternFill, Side
def index(request): def index(request):
clientes_list = Clientes.objects.all() clientes_list = Clientes.objects.all()
page = request.GET.get('page', 1) page = request.GET.get('page', 1)
search = request.GET.get('search',None) search = request.GET.get('search',None)
rfcc = request.GET.get('rfcc', None) rfcc = request.GET.get('rfcc', None)
if rfcc: if rfcc:
@@ -156,7 +153,10 @@ class ClientesUpdateView(UserPassesTestMixin,LoginRequiredMixin,UpdateView):
return self.request.user.groups.filter(name= 'admin_soft') return self.request.user.groups.filter(name= 'admin_soft')
#@login_required
@sync_to_async(thread_sensitive=False)
def export_Excel(request): def export_Excel(request):
RFC = request.GET.get('RFC', '') RFC = request.GET.get('RFC', '')
today = datetime.date.today() today = datetime.date.today()
@@ -172,18 +172,17 @@ def export_Excel(request):
ws['C1']='Fecha' ws['C1']='Fecha'
contador =2 contador =2
for q in objeto_a_trabajar: for q in range(0,100000):#objeto_a_trabajar:
column = str(contador) column = str(contador)
ws['A' + column] = q#.uuid
ws['A' + column] = q.uuid ws['B'+ column] = q#.rfcc
ws['B'+ column] = q.rfcc ws['C'+ column] = q#.fecha
ws['C'+ column] = q.fecha
contador += 1 contador += 1
nombre_archivo = f"Timbres_{RFC}_{str(year)}_{str(month)}.xlsx"
nombre_archivo = "ListadoObjeto.xlsx"
response = HttpResponse(content_type="application/ms-excel") response = HttpResponse(content_type="application/ms-excel")
contenido = "attachment; filename = {0}".format(nombre_archivo) contenido = "attachment; filename = {0}".format(nombre_archivo)
response["Content-Disposition"] = contenido response["Content-Disposition"] = contenido
wb.save(response) wb.save( response)
return response return response

View File

@@ -46,7 +46,7 @@ Timbres disponibles Comercio Digital: {{saldo.saldo}}
<a href="{% url 'timbres_cliente' obj.RFC %}" class="btn btn-info">Ver Timbres</a> <a href="{% url 'timbres_cliente' obj.RFC %}" class="btn btn-info">Ver Timbres</a>
{% endif %} {% endif %}
</td> </td>
<td><a href="{% url 'export_Excel' %}?RFC={{obj.RFC}}">Excel</a></td> <td><a target="_blank" rel="noopener noreferrer" href="{% url 'export_Excel' %}?RFC={{obj.RFC}}">Excel</a></td>
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>