Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit d04157d

Browse files
Add gunicorn; adjust templates & styles.
1 parent 1f08245 commit d04157d

File tree

13 files changed

+70
-35
lines changed

13 files changed

+70
-35
lines changed

‎Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ $(VIRTUAL_ENV):
3232

3333
.PHONY: run
3434
run: env
35-
$(LOCAL_PYTHON) -m main
35+
$(LOCAL_PYTHON) -m gunicorn -w 4 wsgi:app
3636

3737
.PHONY: install
3838
install: env

‎README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212

1313
Connect your Flask app to a database using Flask-SQLAlchemy.
1414

15-
* **Tutorial**: https://hackersandslackers.com/manage-database-models-with-flask-sqlalchemy/
16-
* **Demo**: https://flasksqlalchemy.hackersandslackers.app
15+
* **Tutorial**: [https://hackersandslackers.com/manage-database-models-with-flask-sqlalchemy/](https://hackersandslackers.com/manage-database-models-with-flask-sqlalchemy/)
16+
* **Demo**: [https://flasksqlalchemy.hackersandslackers.com](https://flasksqlalchemy.hackersandslackers.com)
1717

1818
## Getting Started
1919

@@ -23,7 +23,7 @@ Get set up locally in two steps:
2323

2424
Replace the values in **.env.example** with your values and rename this file to **.env**:
2525

26-
* `ENVIRONMENT`: The environment in which to run your application; either `development` or `production`.
26+
* `ENVIRONMENT`: The environment in which to run your application (either `development` or `production`).
2727
* `FLASK_DEBUG`: Whether to run Flask in "debug mode".
2828
* `SECRET_KEY`: Randomly generated string of characters used to encrypt your app's data.
2929
* `SQLALCHEMY_DATABASE_URI`: SQLAlchemy connection URI to a SQL database.

‎config.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,9 @@ class Config:
1414
ENVIRONMENT = environ.get("ENVIRONMENT")
1515

1616
# Flask Config
17-
FLASK_APP = "main.py"
17+
FLASK_APP = "wsgi.py"
1818
FLASK_DEBUG = environ.get("FLASK_DEBUG")
19+
SECRET_KEY = environ.get("SECRET_KEY")
1920

2021
# Database
2122
SQLALCHEMY_DATABASE_URI = environ.get("SQLALCHEMY_DATABASE_URI")

‎flask_sqlalchemy_tutorial/models.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
"""Data models."""
1+
"""Database models."""
22
from . import db
33

44

@@ -8,9 +8,9 @@ class User(db.Model):
88
__tablename__ = "flasksqlalchemy-tutorial-users"
99

1010
id = db.Column(db.Integer, primary_key=True)
11-
username = db.Column(db.String(64), index=True, unique=True, nullable=False)
12-
email = db.Column(db.String(80), index=True, unique=True, nullable=False)
13-
bio = db.Column(db.Text, nullable=True)
11+
username = db.Column(db.String(255), index=True, unique=True, nullable=False)
12+
email = db.Column(db.String(255), index=True, unique=True, nullable=False)
13+
bio = db.Column(db.Text)
1414
admin = db.Column(db.Boolean, nullable=False)
1515
created_at = db.Column(db.DateTime, server_default=db.func.now())
1616
updated_at = db.Column(db.DateTime, server_default=db.func.now(), server_onupdate=db.func.now())

‎flask_sqlalchemy_tutorial/routes.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,4 @@ def user_records():
2727
db.session.add(new_user) # Adds new User record to database
2828
db.session.commit() # Commits all changes
2929
redirect(url_for("user_records"))
30-
return render_template("users.jinja2", users=User.query.all(), title="Show Users")
30+
return render_template("users.jinja2", users=User.query.all(), title="All Users")

‎flask_sqlalchemy_tutorial/static/css/style.css

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,30 @@ body {
66
.container {
77
background: white;
88
width: 800px;
9-
margin: 80px auto 0;
10-
box-shadow: 0 0 5px rgba(65,67,144,0.15);
9+
margin: 40px auto 0;
10+
box-shadow: 0 0 5px rgba(65,67,144,0.15);
1111
padding: 50px;
1212
}
1313

14+
.page-header {
15+
display: flex;
16+
align-items: center;
17+
margin-bottom: 30px;
18+
}
19+
20+
.logo {
21+
width: 50px;
22+
height: 50px;
23+
margin-right: 10px;
24+
}
25+
1426
h1 {
15-
margin: 0030px;
27+
margin: 0;
1628
color: #475369;
1729
}
1830

1931
ul {
20-
padding: 0 0 30px;
32+
padding: 0 5px 30px;
2133
border-bottom: 1px solid #d9dfe4;
2234
margin-bottom: 30px;
2335
}

‎flask_sqlalchemy_tutorial/templates/layout.jinja2

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@
1414
<meta property="og:type" content="website"/>
1515
<meta property="og:title" content="Hackers and Slackers - Hackers and Slackers"/>
1616
<meta property="og:description" content="Connect your Flask app to a database using Flask-SQLAlchemy."/>
17-
<meta property="og:url" content="https://flasksqlalchemy.hackersandslackers.app/"/>
17+
<meta property="og:url" content="https://flasksqlalchemy.hackersandslackers.com/"/>
1818
<meta name="twitter:title" content="{{ title }}"/>
1919
<meta name="twitter:description" content="Connect your Flask app to a database using Flask-SQLAlchemy."/>
20-
<meta name="twitter:url" content="https://flasksqlalchemy.hackersandslackers.app/"/>
20+
<meta name="twitter:url" content="https://flasksqlalchemy.hackersandslackers.com/"/>
2121
<meta name="twitter:site" content="@hackersslackers"/>
2222
<meta name="twitter:creator" content="@toddrbirchard"/>
2323
<meta name="twitter:card" content="summary_large_image"/>

‎flask_sqlalchemy_tutorial/templates/users.jinja2

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@
22

33
{% block content %}
44
<div class="container">
5-
<h1>Flask-SQLAlchemy Tutorial</h1>
5+
<div class="page-header">
6+
<img src="{{ url_for('static', filename='img/logo@2x.png') }}" alt="HackersAndSlackers Logo" class="logo"/>
7+
<h1>Flask-SQLAlchemy Tutorial</h1>
8+
</div>
69
{% for user in users %}
710
<ul id="user.username">
811
<li>
@@ -13,10 +16,6 @@
1316
<span class="field-name">Email:</span>
1417
<span class="field-value">{{ user.email }}</span>
1518
</li>
16-
<li>
17-
<span class="field-name">Created:</span>
18-
<span class="field-value">{{ user.created }}</span>
19-
</li>
2019
<li>
2120
<span class="field-name">Bio:</span>
2221
<span class="field-value">{{ user.bio }}</span>
@@ -25,6 +24,10 @@
2524
<span class="field-name">Admin:</span>
2625
<span class="field-value">{{ user.admin }}</span>
2726
</li>
27+
<li>
28+
<span class="field-name">Created:</span>
29+
<span class="field-value">{{ user.created_at }}</span>
30+
</li>
2831
</ul>
2932
{% endfor %}
3033
</div>

‎main.py

Lines changed: 0 additions & 7 deletions
This file was deleted.

‎poetry.lock

Lines changed: 26 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /