Skip to content

Commit

Permalink
first version of todolist, finished the base.html and some skeleton code
Browse files Browse the repository at this point in the history
  • Loading branch information
YangXiao-logic committed Sep 26, 2021
0 parents commit 4e2c2b1
Show file tree
Hide file tree
Showing 21 changed files with 548 additions and 0 deletions.
8 changes: 8 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/inspectionProfiles/profiles_settings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

22 changes: 22 additions & 0 deletions .idea/todolist.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

28 changes: 28 additions & 0 deletions Pipfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
[[source]]
url = "https://mirrors.aliyun.com/pypi/simple"
verify_ssl = true
name = "pypi"

[packages]
flask = "*"
bootstrap-flask = "*"
click = "*"
flask-moment = "*"
flask-sqlalchemy = "*"
flask-wtf = "*"
itsdangerous = "*"
jinja2 = "*"
markupsafe = "*"
python-dotenv = "*"
sqlalchemy = "*"
wtforms = "*"
flask-login = "*"

[dev-packages]
faker = "*"
pathtools = "*"
python-dateutil = "*"
six = "*"

[requires]
python_version = "3.9"
316 changes: 316 additions & 0 deletions Pipfile.lock

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions app.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from todolist import create_app

app = create_app()
18 changes: 18 additions & 0 deletions todolist/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
from flask import Flask
from todolist.blueprints.home import home_bp
from todolist.extension import bootstrap


def create_app():
app = Flask('todolist')
register_extensions(app)
register_blueprints(app)
return app


def register_extensions(app):
bootstrap.init_app(app)


def register_blueprints(app):
app.register_blueprint(home_bp)
Empty file added todolist/blueprints/__init__.py
Empty file.
14 changes: 14 additions & 0 deletions todolist/blueprints/auth.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
from flask import render_template, flash, redirect, url_for, Blueprint
from flask_login import login_user, logout_user, login_required, current_user

auth_bp = Blueprint('auth', __name__)


@auth_bp.route('/login')
def login():
return render_template('../../../../../PycharmProjects/todolist/templates/auth/../templates/auth/login.html')


@auth_bp.route('/logon')
def logon():
return render_template('../../../../../PycharmProjects/todolist/templates/auth/logon.html')
13 changes: 13 additions & 0 deletions todolist/blueprints/home.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
from flask import render_template, flash, redirect, url_for, Blueprint

home_bp = Blueprint('home', __name__)


@home_bp.route('/')
def index():
return render_template('home/index.html')


@home_bp.route('/about')
def about():
return render_template('home/about.html')
26 changes: 26 additions & 0 deletions todolist/blueprints/todo.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
from flask import flash, redirect, url_for, render_template

from to_do_list import app, db
from to_do_list.forms import IsFinsihedForm, TaskForm
from to_do_list.models import Task

# @app.route('/', methods=['GET', 'POST'])
# def index():
# form = TaskForm()
# if form.validate_on_submit():
#
# title = form.title.data
# body = form.body.data
# task = Task(title=title, body=body)
# db.session.add(task)
# db.session.commit()
# flash('Your task have been set!')
# return redirect(url_for('index'))
# tasks = Task.query.order_by(Task.timestamp.desc()).all()
# return render_template('index.html', form=form, tasks=tasks)

# @app.route('/task/<int:task_id>/toggle', methods=['PATCH'])
# def toggle_task(task_id):
# task=Task.query.get_or_404(task_id)
# task.is_finished = not task.is_finished
# return render_template('_task.html',task_id=task_id)
3 changes: 3 additions & 0 deletions todolist/extension.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from flask_bootstrap import Bootstrap

bootstrap = Bootstrap()
Empty file.
53 changes: 53 additions & 0 deletions todolist/templates/base.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
{% from 'bootstrap/nav.html' import render_nav_item %}
<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-F3w7mX95PdgyTmZZMECAngseQB83DfGTowi0iMjiWaeVhAn4FJkqJByhZMI3AhiU" crossorigin="anonymous">
<title>Document</title>
</head>

<body>
{% block nav %}
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<div class="container-fluid">
<a class="navbar-brand" href="#">Todolist</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNavDropdown"
aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNavDropdown">
<ul class="navbar-nav">
{{ render_nav_item('home.index','Home') }}
{{ render_nav_item('home.about','About') }}
</ul>
</div>
</div>
</nav>
{% endblock nav %}
<header>
<h1>Personal to do list</h1>
</header>

{# {% for task in get_flashed_messages() %}#}
{# <div class="alert alert-info">#}
{# <button type="button" class="close" data-dismiss="alert">&times;</button>#}
{# {{ task }}#}
{# </div>#}
{# {% endfor %}#}


{% block content %}{% endblock %}
<footer>
</footer>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"
integrity="sha384-/bQdsTh/da6pkI1MST/rWKFNjaCP5gBSY4sEBT38Q/9RBh9AH40zEOg7Hlq2THRZ"
crossorigin="anonymous"></script>
</body>


</html>
Empty file.
1 change: 1 addition & 0 deletions todolist/templates/home/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{% extends 'base.html' %}
8 changes: 8 additions & 0 deletions todolist/templates/todo/_task.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<div class="card">
<div class="card-body">
<h5 class="card-title">{{ task.title }}</h5>
<p class="card-text">{{ task.body }}</p>
<a class="btn btn-primary" herf="{{ url_for('toggle_task',task_id=task.id) }}">{% if task.is_finished %}
Finished{% else %}UnFinished{% endif %}</a>
</div>
</div>
10 changes: 10 additions & 0 deletions todolist/templates/todo/todo.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{% extends '../base.html' %}
{% from 'bootstrap/form.html' import render_form %}

{% block content %}
{{ render_form(form, action=request.full_path) }}

{% for task in tasks %}
{% include '_task.html' %}
{% endfor %}
{% endblock %}

0 comments on commit 4e2c2b1

Please sign in to comment.