Skip to main content

Templates

CTFd's underlying framework is Flask and it uses Jinja templates to render web pages. You can check out how Jinja is set-up with Flask in the Flask documentation.

Required Templates

|-- base.html - Template that all other pages inherit from. Not technically required but is very useful.
|-- challenge.html - Used to render challenge views
|-- challenges.html - Used to show the list of challenges
|-- config.html - Used to show a configuration form in the Admin Panel
|-- confirm.html - Used to show the confirmation page for a user's email address
|-- login.html - Used to show the a user login form
|-- page.html - Used to render Admin created Pages
|-- register.html - Used to show the a user registration form
|-- reset_password.html - Used to show the user password reset request form and user password reset form
|-- scoreboard.html - Used to show the scoreboard
|-- settings.html - Used to show the user settings page
|-- teams
| |-- invite.html - Used to show a team invite form to a user when they accept an invite link
| |-- join_team.html - Used to show the form to for users to join a team with team name and password
| |-- new_team.html - Used to show the team creation form
| |-- private.html - Used to show a team's private profile
| |-- public.html - Used to show a team's public profile
| |-- team_enrollment.html - Used to let a team choose to create or join a team
| `-- teams.html - Used to show the teams listing
`-- users
|-- private.html - Used to show a user's private profile
|-- public.html - Used to show a user's public provile
`-- users.html - Used to show the users listing

Extra templates

|-- components
| |-- errors.html
| |-- navbar.html
| `-- notifications.html
|-- macros
| `-- forms.html