This is a Django-Appointment demo website. Every 2 hours, all data is removed from the server. Please be respectful of the other visitors.

Customizing Your Django Appointment Scheduler

Initial Setup

Append the following to your Django's settings.py to configure your user model:

AUTH_USER_MODEL = 'models.UserModel'  # Optional if you use Django's user model
            

Example of using a custom user model called UserClient in an app named client:

AUTH_USER_MODEL = 'client.UserClient'
            

Using the default Django user model:

AUTH_USER_MODEL = 'auth.User'
            

Configure the create_user function to support your custom user model:

def create_user(first_name, email, username, last_name=None, **extra_fields):
    pass
            

This function will create a passwordless user and send a link to set the password via email.

Set your website's name in your settings.py, which will be used in email footers:

APPOINTMENT_WEBSITE_NAME = 'Chocolates'
            
<p>® 2023 . All Rights Reserved.</p>
            

Essential Configurations

Here are the crucial configurations needed for the application to operate correctly:

APPOINTMENT_BASE_TEMPLATE = 'base_templates/base.html'
APPOINTMENT_ADMIN_BASE_TEMPLATE = 'base_templates/base.html'  # optional
APPOINTMENT_WEBSITE_NAME = 'Website'
APPOINTMENT_PAYMENT_URL = None
APPOINTMENT_THANK_YOU_URL = None
APPOINTMENT_BUFFER_TIME = 0
APPOINTMENT_SLOT_DURATION = 30
APPOINTMENT_LEAD_TIME = (9, 0)
APPOINTMENT_FINISH_TIME = (16, 30)
            

Email Reminder Configuration

Configure Django Q for email reminders after adding it to your INSTALLED_APPS:

Q_CLUSTER = {
    'name': 'DjangORM',
    'workers': 4,
    'timeout': 90,
    'retry': 120,
    'queue_limit': 50,
    'bulk': 10,
    'orm': 'default',
}
            

Start the Django Q cluster with the command:

python manage.py qcluster