Troubleshooting Common Issues in Frappe Development


To list all installed apps on a Frappe site, you can use the following command.
bench --site [yourSiteName] list-apps
Output:
frappe
batwara
rentals
There is another command to check the installed app on a frappe site. The command is typically used to access the Frappe site console but will also output the installed apps:
bench --site [yourSiteName] console --autoreload
Upon execution, you will see an output similar to this:
Apps in this namespace:
frappe, batwara, rentals
This confirms the apps installed on your Frappe instance.
If your updates to HTML or Jinja templates are not reflecting, you may need to enable developer mode on the site. Run the following command:
bench --site [siteName] set-config developer_mode 1
Enabling developer mode ensures that Frappe reloads templates dynamically instead of serving cached versions.
To set a date field to automatically pick today’s date, follow these steps:
Date field in your Doctype.Date field, add the value Today.This will ensure that the field defaults to the current date whenever a new record is created.
There is a bench command to set-password for site user
bench set-password <userName> <password>
Example:
bench set-password [email protected] 1234
If you generated a Frappe frontend scaffolding using Doppio, but the frontend does not start, the issue could be related to multi-tenant mode.
Switch from multi-tenant mode to single-tenant mode, and the frontend should run smoothly.
If you find it hard to generate frontend scaffolding for your Frappe app, you can use Doppio, a tool specifically developed to ease frontend development for Frappe.
You can install Doppio using the following command:
bench get-app NagariaHussain/doppio
This will add Doppio to your Frappe environment, allowing you to generate frontend scaffolding effortlessly.
Learn how to add Stripe and Razorpay subscription billing to a custom Frappe app — whitelisted APIs, webhook signature verification, and scheduler-based renewals.
Stop fighting the built-in resource API for complex business logic. Here's how to expose your own Python functions as clean, secure REST endpoints in Frappe
A practical Frappe tutorial for fixing wrong workspace redirects using role-to-route mapping, capture-phase click handling, and a reusable Desk JavaScript file.