You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

views.py 2.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. from django.shortcuts import render
  2. from django.http import HttpResponse
  3. from asgiref.sync import async_to_sync,sync_to_async
  4. from django.template import Template, RequestContext
  5. import inspect
  6. from django.views.decorators.csrf import csrf_exempt
  7. from django.views.generic import ListView, CreateView # new
  8. from .models import Post,PostForm
  9. # from wsps.tasks_loop import *
  10. # wsps.
  11. # import tasks_loop
  12. import wsps.tasks_loop
  13. glob_cl = wsps.tasks_loop.glob_cl
  14. # glob_cl.has_cl
  15. # glob_cl.acl
  16. # Create your views here.
  17. p=print
  18. from django.middleware.csrf import get_token
  19. def your_view(request):
  20. csrf_token = get_token(request)
  21. csrf_token = get_token(request)
  22. csrf_token_html = '<input type="hidden" name="csrfmiddlewaretoken" value="{}" />'.format(csrf_token)
  23. def index(request):
  24. return HttpResponse("Hello World")
  25. @csrf_exempt
  26. def fn_v(request,*a,**kw):
  27. # glob_cl.acl
  28. # if
  29. p("fn_v",request)
  30. # for en in dir(request):
  31. # p(en)
  32. pi = glob_cl.post_info(request,*a,**kw)
  33. if (pi and pi["ret"]):
  34. return pi["ret"]
  35. # return HttpResponse("fn_v?")
  36. if (glob_cl.has_cl):
  37. p("async_to_sync sig:",inspect.signature(async_to_sync))
  38. p("group_send sig:",inspect.signature(glob_cl.acl.group_send))
  39. async_to_sync(glob_cl.acl.group_send)("av2",{"type":"jsto_send","hi":"test"})
  40. return HttpResponse("fn_v has_cl")
  41. return HttpResponse("fn_v")
  42. return
  43. def fn_v0(request,*a,**kw):
  44. return HttpResponse("fn_v0")
  45. class HomePageView(ListView):
  46. model = Post
  47. template_name = "home.html"
  48. class CreatePostView(CreateView): # new
  49. model = Post
  50. form_class = PostForm
  51. template_name = "post.html"
  52. # success_url = reverse_lazy("home")
  53. def fn_vpx(request,*a,**kw):
  54. p("fn_vpx:",request,"\n",a,kw)
  55. return HttpResponse("fn_vpx")
  56. arbitrary_string_as_template = "abc 123 {% csrf_token %}"
  57. def fn_v1(request,*a,**kw):
  58. # return render()
  59. template = Template(arbitrary_string_as_template)
  60. context = RequestContext(request)
  61. return HttpResponse(template.render(context))
  62. return HttpResponse("fn_v1")
  63. def fn_v2(request,*a,**kw):
  64. csrf_token = get_token(request)
  65. csrf_token_html = '...<input type="hidden" name="csrfmiddlewaretoken" value="{}" />'.format(csrf_token)
  66. return HttpResponse(csrf_token_html)
  67. return render(request,"index.html")
  68. # return render("index.html","index.html")
  69. template = Template(arbitrary_string_as_template)
  70. context = RequestContext(request)
  71. return HttpResponse(template.render(context))
  72. return render(request,template)
  73. return HttpResponse("fn_v2")
  74. r'''
  75. fn_v = index
  76. fn_v0 = index
  77. fn_v1 = index
  78. fn_v2 = index
  79. # '''