Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2016
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.14 KB | None | 0 0
  1. from django.http import HttpResponse, HttpResponseRedirect
  2. from django.template import loader
  3. from django.shortcuts import get_object_or_404, render
  4. from .forms import RegForm, LogIn, OrderForm
  5. from django.core.mail import send_mail
  6. from .models import Good, Categories, CategoriesGood, User, Cart, Order
  7. import smtplib
  8. from smtplib import SMTP
  9. from email.mime.text import MIMEText
  10. from email.header import Header
  11.  
  12. def index(request):
  13. login = ''
  14. if 'login' in request.session:
  15. user_list = User.objects.filter(login = request.session['login'])
  16. if user_list:
  17. login = user_list[0].login
  18. goods_list = Good.objects.all()
  19. categories_list = Categories.objects.all()
  20. template = loader.get_template('blog/index.html')
  21. form = RegForm()
  22. log = LogIn()
  23. context = {
  24. 'goods': goods_list,
  25. 'categories' : categories_list,
  26. 'log': log,
  27. 'login': login,
  28. }
  29. return HttpResponse(template.render(context, request))
  30.  
  31. def detail(request, good_id):
  32. login = ''
  33. if 'login' in request.session:
  34. user_list = User.objects.filter(login = request.session['login'])
  35. if user_list:
  36. login = user_list[0].login
  37. good = get_object_or_404(Good, pk=good_id)
  38. return render(request, 'blog/detail.html', {'good': good, 'login':login})
  39.  
  40. def order(request):
  41. login = ''
  42. if 'login' in request.session:
  43. user_list = User.objects.filter(login = request.session['login'])
  44. if user_list:
  45. login = user_list[0].login
  46. return render(request, 'blog/order.html', {'login':login})
  47.  
  48. def categories_list(request, categories_id):
  49. login = ''
  50. if 'login' in request.session:
  51. user_list = User.objects.filter(login = request.session['login'])
  52. if user_list:
  53. login = user_list[0].login
  54. good_list = []
  55. category_name = get_object_or_404(Categories, pk = categories_id).name
  56. goods_list1 = CategoriesGood.objects.filter(categories_id = categories_id)
  57. for item in goods_list1:
  58. good = get_object_or_404(Good, pk = item.good_id.id)
  59. good_list.append(good)
  60. template = loader.get_template('blog/category.html')
  61. context = {
  62. 'goods': good_list,
  63. 'category_name': category_name,
  64. 'login':login
  65. }
  66. return HttpResponse(template.render(context, request))
  67.  
  68. def reg(request):
  69. if request.method == 'POST':
  70. form = RegForm(request.POST)
  71. if form.is_valid():
  72. user = User(fname=form.cleaned_data['fname'],
  73. lname=form.cleaned_data['lname'],
  74. login=form.cleaned_data['login'],
  75. email=form.cleaned_data['email'],
  76. password=form.cleaned_data['password'])
  77. user.save()
  78. request.session['login'] = form.cleaned_data['login']
  79. return HttpResponseRedirect('/')
  80. def log(request):
  81. if request.method == 'POST':
  82. form = LogIn(request.POST)
  83. if form.is_valid():
  84. user_list = User.objects.filter(login = form.cleaned_data['login'],
  85. password = form.cleaned_data['password'])
  86. if user_list:
  87. request.session['login'] = form.cleaned_data['login']
  88. return HttpResponseRedirect('/')
  89. else:
  90. return HttpResponse('Bad Login')
  91. else: return HttpResponse('ЗАПОЛНИТЕ ПОЛЯ АВТОРИЗАЦИИ')
  92.  
  93. def registration(request):
  94. template = loader.get_template('blog/reg.html')
  95. context = {
  96. 'reg': RegForm(),
  97. }
  98. return HttpResponse(template.render(context, request))
  99.  
  100. def add_to_cart(request, good_id):
  101. good = Good.objects.filter(pk = good_id)[0]
  102. user = User.objects.filter(login = request.session['login'])[0]
  103. cart = Cart(good = good, user_id = user, quantity = 1)
  104. cart.save()
  105. return HttpResponseRedirect('/blog/' + str(good_id))
  106.  
  107. def show_cart(request):
  108. login = ''
  109. if 'login' in request.session:
  110. user_list = User.objects.filter(login = request.session['login'])
  111. if user_list:
  112. login = user_list[0].login
  113. template = loader.get_template('blog/cart.html')
  114. user = User.objects.filter(login = request.session['login'])[0]
  115. cart_list = Cart.objects.filter(user_id = user)
  116. good_list = []
  117. for item in cart_list :
  118. good = get_object_or_404(Good, pk = item.good.id)
  119. good_list.append(good)
  120. context = {
  121. 'goods' : good_list,
  122. 'login' : login
  123. }
  124. return HttpResponse(template.render(context, request))
  125.  
  126. def order(request):
  127. login = ''
  128. if 'login' in request.session:
  129. user_list = User.objects.filter(login = request.session['login'])
  130. if user_list:
  131. login = user_list[0].login
  132. template = loader.get_template('blog/order.html')
  133. context = {
  134. 'order': OrderForm(),
  135. 'login' : login
  136. }
  137. return HttpResponse(template.render(context, request))
  138.  
  139. def send_mail(fromm, to, subject, body):
  140. msg = MIMEText(body, "plain", "utf-8")
  141. msg["Subject"] = Header(subject, "utf-8")
  142. data = msg.as_string()
  143. srv = SMTP(SERVER)
  144. srv.starttls()
  145. srv.login(USER, PASSWORD)
  146. srv.sendmail(fromm, to, data)
  147. srv.quit()
  148.  
  149. def order_making(request):
  150. login = ''
  151. if 'login' in request.session:
  152. user_list = User.objects.filter(login = request.session['login'])
  153. if user_list:
  154. login = user_list[0].login
  155. template = loader.get_template('blog/order_making.html')
  156. user = User.objects.filter(login = request.session['login'])[0]
  157. if request.method == 'POST':
  158. form = OrderForm(request.POST)
  159. if form.is_valid():
  160. order = Order(user_id=user,
  161. address=form.cleaned_data['address'],
  162. phone_number=form.cleaned_data['phone_number'])
  163. order.save()
  164. cart_list = Cart.objects.filter(user_id = user)
  165. good_list = []
  166. s = 0
  167. MESSAGE= "Товары :"
  168. for item in cart_list :
  169. good = get_object_or_404(Good, pk = item.good.id)
  170. good_list.append(good)
  171. s = s + good.price
  172. MESSAGE = MESSAGE + good.name + ' ' + str(good.price) + ' \n'
  173. MESSAGE = MESSAGE + ' ' + user.fname + ' ' + user.lname + ' ' + order.address + ' ' + str(s)
  174. context = {
  175. 'goods' : good_list,
  176. 'user' : user,
  177. 'order' : order,
  178. 'sum' : s,
  179. 'login' : login
  180. }
  181. fromaddr = "ordertoblog@gmail.com"
  182. toaddrs = "blogcshse@gmail.com"
  183.  
  184. SERVER = "smtp.gmail.com:587"
  185. USER = "ordertoblog@gmail.com"
  186. PASSWORD = "qwerty1488"
  187.  
  188.  
  189.  
  190. msg = MIMEText(MESSAGE, "plain", "utf-8")
  191. msg["Subject"] = Header("Заказ", "utf-8")
  192. data = msg.as_string()
  193. srv = SMTP(SERVER)
  194. srv.starttls()
  195. srv.login(USER, PASSWORD)
  196. srv.sendmail(fromaddr, toaddrs, data)
  197. srv.quit()
  198. #send_mail('заказ',msg,fromaddr,[toaddrs],fail_silently=False,auth_user = 'ordertoblog', auth_password ='qwerty1488')
  199. Cart.objects.filter(user_id = user).delete()
  200. return HttpResponse(template.render(context, request))
  201.  
  202. def delete_cart(request, good_id):
  203. login = ''
  204. if 'login' in request.session:
  205. user_list = User.objects.filter(login = request.session['login'])
  206. if user_list:
  207. login = user_list[0].login
  208. good = Good.objects.get(pk = good_id)
  209. user = User.objects.filter(login = request.session['login'])[0]
  210. cart = Cart.objects.filter(good = good, user_id = user)[0]
  211. newgood = get_object_or_404(Good, pk = cart.good.id)
  212. name = newgood.name
  213. cart.delete()
  214. return HttpResponse('удалили ' + str(name))
  215.  
  216. def exit(request):
  217. try:
  218. del request.session['login']
  219. except KeyError:
  220. pass
  221. return HttpResponseRedirect('/')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement