class SetupForm(BaseForm): ctf_name = StringField("竞赛名称", description="您的CTF竞赛主名称") ctf_description = TextAreaField("竞赛描述", description="您的CTF竞赛描述") user_mode = RadioField( "模式选择", choices=[("teams", "团队赛"), ("users", "个人赛")], default="teams", description="控制比赛形式是以团队为单位进行竞赛,还是以个人为单位进行竞赛", validators=[InputRequired()], ) name = StringField( "管理员用户名", description="管理员账户自己的用户名", validators=[InputRequired()], ) email = EmailField( "管理员邮箱", description="管理员账户自己的邮箱", validators=[InputRequired()], ) password = PasswordField( "管理员密码", description="管理员账户的密码", validators=[InputRequired()], ) ctf_logo = FileField( "Logo", description="网站的Logo(徽标),不是CTF名称. 用作主页按钮.", ) ctf_banner = FileField("Banner", description="主页的Banner(横幅图片).") ctf_small_icon = FileField( "网站小图标", description="用户浏览器标签左侧显示的图标(favicon),只能是PNG图片。并且大小必须是32x32px", ) ctf_theme = SelectField( "主题", description="CTFd使用的主题", choices=list(zip(get_themes(), get_themes())), default=DEFAULT_THEME, validators=[InputRequired()], ) theme_color = HiddenField( "主题颜色", description="主题使用的用于控制界面美观的颜色,需要主题支持才能生效。(可选)", ) start = StringField("开始时间", description="CTF竞赛的开始时间. (可选).") end = StringField("结束时间", description="CTF竞赛的结束时间. (可选).") submit = SubmitField("完成")
class SetupForm(BaseForm): ctf_name = StringField( "Event Name", description="The name of your CTF event/workshop" ) ctf_description = TextAreaField( "Event Description", description="Description for the CTF" ) user_mode = RadioField( "User Mode", choices=[("teams", "Team Mode"), ("users", "User Mode")], default="teams", description="Controls whether users join together in teams to play (Team Mode) or play as themselves (User Mode)", validators=[InputRequired()], ) name = StringField( "Admin Username", description="Your username for the administration account", validators=[InputRequired()], ) email = EmailField( "Admin Email", description="Your email address for the administration account", validators=[InputRequired()], ) password = PasswordField( "Admin Password", description="Your password for the administration account", validators=[InputRequired()], ) ctf_theme = SelectField( "Theme", description="CTFd Theme to use", choices=list(zip(get_themes(), get_themes())), default="core", validators=[InputRequired()], ) theme_color = HiddenField( "Theme Color", description="Color used by theme to control aesthetics. Requires theme support. Optional.", ) start = StringField( "Start Time", description="Time when your CTF is scheduled to start. Optional." ) end = StringField( "End Time", description="Time when your CTF is scheduled to end. Optional." ) submit = SubmitField("Finish")
def config(): # Clear the config cache so that we don't get stale values clear_config() configs = Configs.query.all() configs = dict([(c.key, get_config(c.key)) for c in configs]) themes = ctf_config.get_themes() themes.remove(get_config("ctf_theme")) return render_template("admin/config.html", themes=themes, **configs)
def config(): # Clear the config cache so that we don't get stale values clear_config() database_tables = sorted(db.metadata.tables.keys()) configs = Configs.query.all() configs = dict([(c.key, get_config(c.key)) for c in configs]) themes = ctf_config.get_themes() themes.remove(get_config('ctf_theme')) return render_template('admin/config.html', database_tables=database_tables, themes=themes, **configs)
def config(): # Clear the config cache so that we don't get stale values clear_config() configs = Configs.query.all() configs = {c.key: get_config(c.key) for c in configs} themes = ctf_config.get_themes() # Remove current theme but ignore failure try: themes.remove(get_config("ctf_theme")) except ValueError: pass return render_template("admin/config.html", themes=themes, **configs)
class SetupForm(BaseForm): ctf_name = StringField( # "Event Name", description="The name of your CTF event/workshop" "이벤트명", description="CTF 이벤트/워크샵의 이름을 지정합니다.", ) ctf_description = TextAreaField( # "Event Description", description="Description for the CTF" "이벤트 설명", description="본 CTF에 대해 설명해주세요.(옵션)", ) user_mode = RadioField( # "User Mode", "참가 모드", choices=[("teams", "Team Mode"), ("users", "User Mode")], default="teams", # description="Controls whether users join together in teams to play (Team Mode) or play as themselves (User Mode)", description= "참가자가 팀에 참가하여 진행하는지(Team Mode), 개인으로 참가하여 진행하는지(User Mode) 여부를 선택합니다.", validators=[InputRequired()], ) name = StringField( # "Admin Username", "관리자 아이디", # description="Your username for the administration account", description="관리자 계정의 아이디를 입력해주세요.", validators=[InputRequired()], ) email = EmailField( # "Admin Email", "관리자 이메일", # description="Your email address for the administration account", description="관리자 계정의 이메일을 입력해주세요.", validators=[InputRequired()], ) password = PasswordField( # "Admin Password", "관리자 비밀번호", # description="Your password for the administration account", description="관리자 계정의 비밀번호를 입력해주세요.", validators=[InputRequired()], ) ctf_logo = FileField( # "Logo", "로고", # description="Logo to use for the website instead of a CTF name. Used as the home page button.", description="이벤트명 대신 사용할 로고입니다. 홈페이지 이동 버튼으로 사용됩니다.", ) # ctf_banner = FileField("Banner", description="Banner to use for the homepage.") ctf_banner = FileField("배너", description="홈페이지 상단 배너 이미지입니다.") ctf_small_icon = FileField( # "Small Icon", "아이콘", # description="favicon used in user's browsers. Only PNGs accepted. Must be 32x32px.", description= "브라우저에 표시되는 favicon 입니다. 오직 PNG 파일만 허용됩니다. 32x32px 파일을 업로드해주세요.", ) ctf_theme = SelectField( # "Theme", "테마", # description="CTFd Theme to use", description="커스텀 테마를 선택할 수 있습니다.", choices=list(zip(get_themes(), get_themes())), default=DEFAULT_THEME, validators=[InputRequired()], ) theme_color = HiddenField( # "Theme Color", "테마 색상", # description="Color used by theme to control aesthetics. Requires theme support. Optional.", description="테마별로 적용되는 색상입니다. 해당 테마의 지원이 필요합니다.(옵션)", ) start = StringField( # "Start Time", description="Time when your CTF is scheduled to start. Optional." "시작 시간", description="CTF의 시작 시간입니다. (옵션)", ) end = StringField( # "End Time", description="Time when your CTF is scheduled to end. Optional." "종료 시간", description="CTF의 종료 시간입니다. (옵션)", ) # submit = SubmitField("Finish") submit = SubmitField("완료")