Fungsi didefinisikan menggunakan kata kunci def, diikuti dengan nama fungsi yang dipilih, diikuti dengan tanda kurung yang berisi argumen (opsional). Argumen adalah nilai yang diteruskan ke fungsi saat dieksekusi.
def nama_fungsi(argumen1, argumen2):
# Blok kode fungsi
# Instruksi-instruksi yang akan dijalankan
Contoh fungsi dengan fitur lebih banyak
Contoh Fungsi yang sedikit t complex
def login_view(request):
form = LoginForm(request.POST or None)
if request.method == 'POST':
if form.is_valid():
username = form.cleaned_data.get('username')
password = form.cleaned_data.get('password')
user = authenticate(request, username=username, password=password)
if user is not None:
if user.is_active:
if user.is_admin:
auth_login(request, user)
return redirect('dashboard_admin')
elif user.is_staff:
auth_login(request, user)
return redirect('dashboard_staff')
elif hasattr(user, 'is_pelanggan') and user.is_pelanggan:
auth_login(request, user)
return redirect('dashboard_pelanggan')
else:
messages.error(request, 'User type is not recognized.')
else:
messages.error(request, 'Account is inactive.')
else:
messages.error(request, 'Invalid username or password.')
else:
messages.error(request, 'Error validating form.')
return render(request, 'accounts/login.html', {'form': form})