Reputation: 1736
I want to create folders using flask . I Google for this a lot but didn't find any help. Evey search shows me the folder structure of flask but I want to know how can I create folders using code.
Actually I want to create folders for every user at register time.So suggest me a way how can I create a simple empty folder at particular path in flask.
Upvotes: 4
Views: 10472
Reputation: 26
from flask import Flask, request
import os
app = Flask(__name__)
app.config["TEMPLATES_AUTO_RELOAD"] = True
app.config['UPLOAD_FOLDER'] = 'static/users/'
@app.route('/register', methods=["POST", "GET"])
def register():
username = request.form.get("username")
if request.method == "POST":
username = username.strip().capitalize()
user_folder = os.path.join(app.config['UPLOAD_FOLDER'], username)
os.mkdir(user_folder)
return f"folder is created under the name {username} and the full path is {user_folder}"
return """
<form method="post" action="/register">
<input type="text" name="username" required>
<button type="submit" >Submit</button>
</form>
"""
Upvotes: 0
Reputation: 29
create folders for every user at register time. You can override the default constructor of sqlalchemy orm like this and do custom stuff inside the function. Here is semi working code.
from app import db
import os
class User(db.Model):
# ...
folder = db.Column(db.String(80), unique=True, nullable=False)
def __init__(self, **kwargs):
super(User, self).__init__(**kwargs)
# do custom stuff call folder create method here
self.create_folder()
# method to create folder
def create_folder(self):
#give path to location where you want to create folder
path = "my path where i want to create folder"
os.mkdir(path)
#update some property in User database
self.folder = "path to my user folder"
Upvotes: 3
Reputation: 369334
Use os.mkdir
or os.makedirs
according to your need.
import os
os.makedirs('/path/to/directory')
Upvotes: 6