dotenv
This commit is contained in:
parent
dc70b84446
commit
2fbaaf9085
4
.env.example
Normal file
4
.env.example
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
SECRET_KEY=some_super_secret_key
|
||||||
|
RECAPTCHA_PUBLIC_KEY=your_public_recaptcha_key
|
||||||
|
RECAPTCHA_PRIVATE_KEY=your_private_recaptcha_key
|
||||||
|
SQLALCHEMY_DATABASE_URI=db_path
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -8,3 +8,4 @@
|
|||||||
/static/videos/
|
/static/videos/
|
||||||
/venv/
|
/venv/
|
||||||
/__pycache__/
|
/__pycache__/
|
||||||
|
.env
|
24
README.md
24
README.md
@ -1,7 +1,7 @@
|
|||||||
[](https://artberry.xyz/static/Logo.svg "test")
|
[](https://artberry.xyz/static/Logo.svg "test")
|
||||||
### booru сайт нового поколения
|
### booru сайт нового поколения
|
||||||
|
|
||||||
**Приватный репозиторий для разработки и тестирования новых версий веб-приложения artberry**
|
**репозиторий для разработки и тестирования новых версий веб-приложения artberry**
|
||||||
|
|
||||||
------------
|
------------
|
||||||
|
|
||||||
@ -21,28 +21,28 @@
|
|||||||
|
|
||||||
|
|
||||||
#### ЗАПУСК И ТЕСТИРОВАНИЕ
|
#### ЗАПУСК И ТЕСТИРОВАНИЕ
|
||||||
**Для удобства и скорости разработки выполните следующие шаги:**
|
#### Для удобства и скорости разработки выполните следующие шаги:
|
||||||
|
|
||||||
#### создайте виртуальное окружение:
|
#### создайте виртуальное окружение:
|
||||||
`python -m venv venv`
|
- `python -m venv venv`
|
||||||
|
|
||||||
#### запустите виртуальное окружение:
|
#### запустите виртуальное окружение:
|
||||||
WINDOWS:
|
*WINDOWS*:
|
||||||
**powershell: **` .\venv\Scripts\Activate`
|
- **powershell:** ` .\venv\Scripts\Activate`
|
||||||
**CMD: **`venv\Scripts\activate.bat`
|
- **CMD:** `venv\Scripts\activate.bat`
|
||||||
|
|
||||||
LINUX | MAC:
|
*LINUX* | *MAC*:
|
||||||
`source venv/bin/activate`
|
- `source venv/bin/activate`
|
||||||
|
|
||||||
#### установите зависимости:
|
#### установите зависимости:
|
||||||
`pip install -r requirements.txt`
|
- `pip install -r requirements.txt`
|
||||||
|
|
||||||
#### запустите проект
|
#### запустите проект
|
||||||
`python app.py` или `flask run`
|
- `python app.py` или `flask run`
|
||||||
|
|
||||||
##### Для отладки в конце файла `app.py` измените:
|
#### Для отладки в конце файла `app.py` измените:
|
||||||
|
|
||||||
`app.run(debug=False)` **на:** `app.run(debug=True)`
|
- `app.run(debug=False)` **на:** `app.run(debug=True)`
|
||||||
|
|
||||||
------------
|
------------
|
||||||
|
|
||||||
|
21
app.py
21
app.py
@ -24,16 +24,18 @@ from wtforms.validators import DataRequired, Length, EqualTo, ValidationError, R
|
|||||||
from wtforms import StringField, PasswordField, SubmitField
|
from wtforms import StringField, PasswordField, SubmitField
|
||||||
from wtforms.validators import DataRequired, EqualTo, Regexp
|
from wtforms.validators import DataRequired, EqualTo, Regexp
|
||||||
from flask_wtf import FlaskForm, RecaptchaField
|
from flask_wtf import FlaskForm, RecaptchaField
|
||||||
|
from dotenv import load_dotenv
|
||||||
|
|
||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
csrf = CSRFProtect(app)
|
csrf = CSRFProtect(app)
|
||||||
|
load_dotenv()
|
||||||
|
|
||||||
app.config.update(
|
app.config.update(
|
||||||
SECRET_KEY='PASTE SOMETHING HERE',
|
SECRET_KEY=os.getenv('SECRET_KEY'),
|
||||||
WTF_CSRF_ENABLED=True,
|
WTF_CSRF_ENABLED=True,
|
||||||
RECAPTCHA_PUBLIC_KEY="PASTE RECAPTCHA KEY HERE",
|
RECAPTCHA_PUBLIC_KEY=os.getenv('RECAPTCHA_PUBLIC_KEY'),
|
||||||
RECAPTCHA_PRIVATE_KEY="PASTE RECAPTCHA KEY HERE",
|
RECAPTCHA_PRIVATE_KEY=os.getenv('RECAPTCHA_PRIVATE_KEY'),
|
||||||
SQLALCHEMY_DATABASE_URI='sqlite:///artberry.db',
|
SQLALCHEMY_DATABASE_URI=os.getenv('SQLALCHEMY_DATABASE_URI'),
|
||||||
UPLOAD_FOLDER={
|
UPLOAD_FOLDER={
|
||||||
'images': 'static/arts/',
|
'images': 'static/arts/',
|
||||||
'arts': 'static/arts/',
|
'arts': 'static/arts/',
|
||||||
@ -97,9 +99,6 @@ class User(db.Model, UserMixin):
|
|||||||
avatar_file = db.Column(db.String(50), nullable=True)
|
avatar_file = db.Column(db.String(50), nullable=True)
|
||||||
banner_file = db.Column(db.String(50), nullable=True)
|
banner_file = db.Column(db.String(50), nullable=True)
|
||||||
bio = db.Column(db.Text, nullable=True)
|
bio = db.Column(db.Text, nullable=True)
|
||||||
show_publications = db.Column(db.Boolean, default=True)
|
|
||||||
hide_elements = db.Column(db.Boolean, default=False)
|
|
||||||
site_mask = db.Column(db.Boolean, default=False)
|
|
||||||
current_item = db.Column(db.String(30), nullable=True)
|
current_item = db.Column(db.String(30), nullable=True)
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
@ -461,9 +460,9 @@ def image_edit(id):
|
|||||||
)
|
)
|
||||||
|
|
||||||
class EditVideoForm(FlaskForm):
|
class EditVideoForm(FlaskForm):
|
||||||
video_name = StringField('Title', validators=[DataRequired(), Length(max=100)], render_kw={"placeholder": "Введите название видео"})
|
video_name = StringField('Title', validators=[DataRequired(), Length(max=100)], render_kw={"placeholder": "Enter video title"})
|
||||||
video_thumbnail = FileField('Thumbnail', validators=[FileAllowed(['jpg', 'jpeg', 'png', 'gif'], 'Только изображения!')])
|
video_thumbnail = FileField('Thumbnail', validators=[FileAllowed(['jpg', 'jpeg', 'png', 'gif'], 'Only images!')])
|
||||||
description = TextAreaField('Description', validators=[DataRequired(), Length(max=500)], render_kw={"placeholder": "Введите описание видео"})
|
description = TextAreaField('Description', validators=[DataRequired(), Length(max=500)], render_kw={"placeholder": "Enter video description"})
|
||||||
tags = StringField('Tags', validators=[DataRequired(), Length(max=100)], render_kw={"placeholder": "Tags"})
|
tags = StringField('Tags', validators=[DataRequired(), Length(max=100)], render_kw={"placeholder": "Tags"})
|
||||||
submit = SubmitField('Save')
|
submit = SubmitField('Save')
|
||||||
|
|
||||||
@ -1596,4 +1595,4 @@ def buy_item(item_id):
|
|||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
with app.app_context():
|
with app.app_context():
|
||||||
db.create_all()
|
db.create_all()
|
||||||
app.run(debug=True)
|
app.run(debug=False)
|
Loading…
x
Reference in New Issue
Block a user