from django.shortcuts import render,redirect from django.http import HttpResponse from .models import tb_news from django.contrib.auth.models import User,auth from django.contrib import messages from django.contrib.auth.decorators import login_required,permission_required # Create your views here. def handler404(request, exception): return render(request,'Mywebsite/404error.html') def index(request): content = tb_news.objects.all().order_by("-id") return render(request,'Mywebsite/index.html',{'news':content}) @login_required(login_url='/login') @permission_required('is_staff',login_url='/warning') def addnews(request): return render(request,'Mywebsite/addnews.html') #news_title news_detail news_photo news_date def addnewsdata(request): news_title = request.POST['news_title'] news_detail = request.POST['news_detail'] news_photo = request.FILES['news_photo'] content = tb_news(news_title=news_title,news_detail=news_detail,news_photo=news_photo) content.save() return redirect("/contentmanager") @login_required(login_url='/login') @permission_required('is_staff',login_url='/warning') def contentmanager(request): mydatanews = tb_news.objects.all() return render(request,'Mywebsite/contentnewsmanager.html',{'news':mydatanews}) def contentedit(request): id = request.GET['id'] result = tb_news.objects.filter(pk=id) print(result) return render(request,'Mywebsite/contentedit.html',{'result':result}) def contentupdate(request): id = request.POST['id'] news_title = request.POST['news_title'] news_detail = request.POST['news_detail'] try: news_photo = request.FILES['news_photo'] except KeyError: news_photo = None content = tb_news.objects.get(pk=id) content.news_title = news_title content.news_detail = news_detail if news_photo is not None: content.news_photo = news_photo content.save() return redirect("/contentmanager") def contentdelete(request): id = request.POST['id'] content = tb_news.objects.get(pk=id) content.delete() return redirect("/contentmanager") def contentresult(request): id = request.GET['id'] content = tb_news.objects.filter(pk=id) return render(request,'Mywebsite/result.html',{'result':content}) def regisuser(request): return render(request,'Mywebsite/regisuser.html') def regisuserdata(request): fname = request.POST['fname'] lname = request.POST['lname'] email = request.POST['email'] username = request.POST['username'] password = request.POST['password'] repassword = request.POST['repassword'] if password == repassword: if User.objects.filter(username=username).exists(): messages.error(request,"Username ซ้ำในระบบ") return redirect("/regisuser") elif User.objects.filter(email=email).exists(): messages.error(request,"Email ซ้ำในระบบ") return redirect("/regisuser") else: user = User.objects.create_user( first_name=fname, last_name=lname, username=username, password=password, email=email ) user.save() return redirect("/") else: messages.error(request,"Password และ Repassword ไม่ตรงกัน") return redirect("/regisuser") def login(request): if request.user.is_authenticated: return redirect("/") return render(request,'Mywebsite/login.html') def logincheck(request): username = request.POST['username'] password = request.POST['password'] user = auth.authenticate(username=username,password=password) if user is not None: auth.login(request,user) return redirect('/') else: messages.error(request,"ไม่พบผู้ใช้งานในระบบ") return redirect('/login') def logoff(request): auth.logout(request) return redirect("/login") def warning(request): return render(request,'Mywebsite/warning.html')