def index(request): # index.htmlをリクエスト # GETメソッド if request.method == 'GET': return render(request, 'index.html', {"emp": __get__emp(), "form": EmpForm}) # POSTメソッド if request.method == 'POST': form = EmpForm(request.POST) if form.is_valid(): emp_name = form.clean_data['emp_name'].strip() try: EmpData.objects.create(emp_name=emp_name) message = "Employee '{}' is added successfully.".format(emp_name) except IntegrityError: message = "Employee '{}' is already exists.".format(emp_name) else: message = "Please correct all the validation error below" # htmlへ結果をreturnする return render(request, "index.html", {"message": message, "emp": __get__emp(), "form": EmpForm}) return "Invalid Request"
def edit_emp(request, emp_id): # GETリクエスト / edit.html if request.method == 'GET': try: emp = EmpData.objects.get(id=emp_id) form = EmpForm(initial={'emp_name': emp.emp_name}) return render(request, "edit.html", {"form": form}) except EmpData.DoesNotExist: message = "Given employee does not exists." return render(request, "index.html", {"message": message, "emp": __get__emp(), "form": EmpForm}) # POST リクエスト if request.method == 'POST': form = EmpForm(request.POST) if form.is_valid(): emp_name = form.cleaned_data['emp_name'].strip() empid = form.cleaned_data['emp_id'].strip() emp_role = form.cleaned_data['emp_role'].strip() # int は strip いらない emp_age = form.cleaned_data['emp_age'] emp_date = form.cleaned_data['emp_date'] # edit.html 編集画面 / データベース保存 try: emp = EmpData.objects.get(id=emp_id) emp.emp_name = emp_name emp.emp_id = empid emp.emp_role = emp_role emp.emp_age = emp_age emp.emp_date = emp_date emp.save() message = "Employee '{}', '{}', '{}', '{}', '{}' is successfully." .format(empid,emp_name,emp_role,emp_age,emp_date) form = EmpForm() except IntegrityError: message = "Employee '{}', '{}', '{}', '{}', '{}' is successfully." .format(empid,emp_name,emp_role,emp_age,emp_date) except EmpData.DoesNotExist as e: message = "Given employee does not exists." else: message = "Please correct all the validation error below." return render(request, "edit.html", {'form': form}) # index.htmlをリクエスト return render(request, "index.html", {"message": message, "emp": __get__emp(), "form": form}) return "Invalid Request"
def update(request): if request.method == 'GET': emp_form = EmpForm() else: try: emp = Employees.objects.get( employee_id=request.POST['employee_id']) # from emp.forms import EmpForm except ObjectDoesNotExist: # from django.core.exceptions import ObjectDoesNotExist emp_form = EmpForm(request.POST) else: emp_form = EmpForm(request.POST, instance=emp) if emp_form.is_valid(): print("form is valid") emp_form.save() return redirect("/emp/list") else: print("form is not valid") return render(request, 'emp/details.html', {'emp': emp_form})
def details(request, employee_id): emp = get_object_or_404(Employees, pk=employee_id) # context = {'emp': emp} context = {'emp': EmpForm(instance=emp)} return render(request, "emp/details.html", context)