[{"title":"( 85 个子文件 51KB ) python flask狗书源码","children":[{"title":"flasky-master","children":[{"title":"requirements","children":[{"title":"heroku.txt <span style='color:#111;'> 65B </span>","children":null,"spread":false},{"title":"common.txt <span style='color:#111;'> 530B </span>","children":null,"spread":false},{"title":"dev.txt <span style='color:#111;'> 167B </span>","children":null,"spread":false},{"title":"prod.txt <span style='color:#111;'> 14B </span>","children":null,"spread":false},{"title":"docker.txt <span style='color:#111;'> 47B </span>","children":null,"spread":false}],"spread":true},{"title":"boot.sh <span style='color:#111;'> 263B </span>","children":null,"spread":false},{"title":"config.py <span style='color:#111;'> 3.69KB </span>","children":null,"spread":false},{"title":"migrations","children":[{"title":"env.py <span style='color:#111;'> 2.11KB </span>","children":null,"spread":false},{"title":"alembic.ini <span style='color:#111;'> 770B </span>","children":null,"spread":false},{"title":"script.py.mako <span style='color:#111;'> 412B </span>","children":null,"spread":false},{"title":"versions","children":[{"title":"d66f086b258_user_information.py <span style='color:#111;'> 1.08KB </span>","children":null,"spread":false},{"title":"56ed7d33de8d_user_roles.py <span style='color:#111;'> 850B </span>","children":null,"spread":false},{"title":"38c4e85512a9_initial_migration.py <span style='color:#111;'> 1.14KB </span>","children":null,"spread":false},{"title":"51f5ccfba190_comments.py <span style='color:#111;'> 1.20KB </span>","children":null,"spread":false},{"title":"1b966e7f4b9e_post_model.py <span style='color:#111;'> 983B </span>","children":null,"spread":false},{"title":"190163627111_account_confirmation.py <span style='color:#111;'> 616B </span>","children":null,"spread":false},{"title":"198b0eebcf9_caching_of_avatar_hashes.py <span style='color:#111;'> 628B </span>","children":null,"spread":false},{"title":"456a945560f6_login_support.py <span style='color:#111;'> 863B </span>","children":null,"spread":false},{"title":"288cd3dc5a8_rich_text_posts.py <span style='color:#111;'> 606B </span>","children":null,"spread":false},{"title":"2356a38169ea_followers.py <span style='color:#111;'> 908B </span>","children":null,"spread":false}],"spread":true},{"title":"README <span style='color:#111;'> 38B </span>","children":null,"spread":false}],"spread":true},{"title":"Dockerfile <span style='color:#111;'> 381B </span>","children":null,"spread":false},{"title":"requirements.txt <span style='color:#111;'> 155B </span>","children":null,"spread":false},{"title":"LICENSE <span style='color:#111;'> 1.06KB </span>","children":null,"spread":false},{"title":"Procfile <span style='color:#111;'> 25B </span>","children":null,"spread":false},{"title":"README.md <span style='color:#111;'> 693B </span>","children":null,"spread":false},{"title":"docker-compose.yml <span style='color:#111;'> 240B </span>","children":null,"spread":false},{"title":"tests","children":[{"title":"test_client.py <span style='color:#111;'> 2.21KB </span>","children":null,"spread":false},{"title":"test_basics.py <span style='color:#111;'> 563B </span>","children":null,"spread":false},{"title":"test_user_model.py <span style='color:#111;'> 8.03KB </span>","children":null,"spread":false},{"title":"test_api.py <span style='color:#111;'> 10.39KB </span>","children":null,"spread":false},{"title":"__init__.py <span style='color:#111;'> 0B </span>","children":null,"spread":false},{"title":"test_selenium.py <span style='color:#111;'> 3.15KB </span>","children":null,"spread":false}],"spread":true},{"title":".gitignore <span style='color:#111;'> 409B </span>","children":null,"spread":false},{"title":"flasky.py <span style='color:#111;'> 2.32KB </span>","children":null,"spread":false},{"title":"app","children":[{"title":"exceptions.py <span style='color:#111;'> 44B </span>","children":null,"spread":false},{"title":"auth","children":[{"title":"__init__.py <span style='color:#111;'> 85B </span>","children":null,"spread":false},{"title":"views.py <span style='color:#111;'> 5.96KB </span>","children":null,"spread":false},{"title":"forms.py <span style='color:#111;'> 2.86KB </span>","children":null,"spread":false}],"spread":false},{"title":"fake.py <span style='color:#111;'> 1012B </span>","children":null,"spread":false},{"title":"decorators.py <span style='color:#111;'> 494B </span>","children":null,"spread":false},{"title":"__init__.py <span style='color:#111;'> 1.13KB </span>","children":null,"spread":false},{"title":"models.py <span style='color:#111;'> 12.59KB </span>","children":null,"spread":false},{"title":"email.py <span style='color:#111;'> 669B </span>","children":null,"spread":false},{"title":"api","children":[{"title":"comments.py <span style='color:#111;'> 2.13KB </span>","children":null,"spread":false},{"title":"decorators.py <span style='color:#111;'> 411B </span>","children":null,"spread":false},{"title":"errors.py <span style='color:#111;'> 625B </span>","children":null,"spread":false},{"title":"__init__.py <span style='color:#111;'> 124B </span>","children":null,"spread":false},{"title":"users.py <span style='color:#111;'> 1.66KB </span>","children":null,"spread":false},{"title":"posts.py <span style='color:#111;'> 1.64KB </span>","children":null,"spread":false},{"title":"authentication.py <span style='color:#111;'> 1.19KB </span>","children":null,"spread":false}],"spread":false},{"title":"main","children":[{"title":"errors.py <span style='color:#111;'> 1018B </span>","children":null,"spread":false},{"title":"__init__.py <span style='color:#111;'> 220B </span>","children":null,"spread":false},{"title":"views.py <span style='color:#111;'> 9.84KB </span>","children":null,"spread":false},{"title":"forms.py <span style='color:#111;'> 2.32KB </span>","children":null,"spread":false}],"spread":false},{"title":"templates","children":[{"title":"_posts.html <span style='color:#111;'> 1.66KB </span>","children":null,"spread":false},{"title":"moderate.html <span style='color:#111;'> 411B </span>","children":null,"spread":false},{"title":"post.html <span style='color:#111;'> 564B </span>","children":null,"spread":false},{"title":"index.html <span style='color:#111;'> 1.03KB </span>","children":null,"spread":false},{"title":"edit_profile.html <span style='color:#111;'> 287B </span>","children":null,"spread":false},{"title":"500.html <span style='color:#111;'> 198B </span>","children":null,"spread":false},{"title":"403.html <span style='color:#111;'> 174B </span>","children":null,"spread":false},{"title":"mail","children":[{"title":"new_user.txt <span style='color:#111;'> 37B </span>","children":null,"spread":false},{"title":"new_user.html <span style='color:#111;'> 44B </span>","children":null,"spread":false}],"spread":false},{"title":"auth","children":[{"title":"change_email.html <span style='color:#111;'> 302B </span>","children":null,"spread":false},{"title":"reset_password.html <span style='color:#111;'> 290B </span>","children":null,"spread":false},{"title":"change_password.html <span style='color:#111;'> 292B </span>","children":null,"spread":false},{"title":"email","children":[{"title":"confirm.txt <span style='color:#111;'> 252B </span>","children":null,"spread":false},{"title":"reset_password.txt <span style='color:#111;'> 303B </span>","children":null,"spread":false},{"title":"change_email.txt <span style='color:#111;'> 240B </span>","children":null,"spread":false},{"title":"change_email.html <span style='color:#111;'> 439B </span>","children":null,"spread":false},{"title":"reset_password.html <span style='color:#111;'> 510B </span>","children":null,"spread":false},{"title":"confirm.html <span style='color:#111;'> 459B </span>","children":null,"spread":false}],"spread":false},{"title":"register.html <span style='color:#111;'> 274B </span>","children":null,"spread":false},{"title":"login.html <span style='color:#111;'> 483B </span>","children":null,"spread":false},{"title":"unconfirmed.html <span style='color:#111;'> 589B </span>","children":null,"spread":false}],"spread":false},{"title":"_comments.html <span style='color:#111;'> 1.55KB </span>","children":null,"spread":false},{"title":"_macros.html <span style='color:#111;'> 1.14KB </span>","children":null,"spread":false},{"title":"404.html <span style='color:#111;'> 179B </span>","children":null,"spread":false},{"title":"base.html <span style='color:#111;'> 2.83KB </span>","children":null,"spread":false},{"title":"followers.html <span style='color:#111;'> 907B </span>","children":null,"spread":false},{"title":"edit_post.html <span style='color:#111;'> 343B </span>","children":null,"spread":false},{"title":"user.html <span style='color:#111;'> 2.60KB </span>","children":null,"spread":false}],"spread":false},{"title":"static","children":[{"title":"styles.css <span style='color:#111;'> 1.81KB </span>","children":null,"spread":false},{"title":"favicon.ico <span style='color:#111;'> 1.12KB </span>","children":null,"spread":false}],"spread":false}],"spread":false}],"spread":false}],"spread":true}]