Ejemplo n.º 1
0
    image_id = sa.Column(sa.Integer,
                         sa.ForeignKey("myimagemodel.id"),
                         nullable=False)
    image = orm.relationship("MyImageModel")
    filter_spec = sa.Column(sa.Text)


db = Database("sqlite:///")
db.create_all()

app = Starlette(debug=True)
app.mount("/fs",
          StaticFiles(directory=root_directory, check_dir=False),
          name="fs")

templates = Jinja2Templates(loader=jinja2.FileSystemLoader(templates_path))


@app.route("/")
class Homepage(HTTPEndpoint):
    async def get(self, request):
        return templates.TemplateResponse("home.html", {"request": request})

    async def post(self, request):
        form = await request.form()

        saved_file = MyImage.create_from(form["file"].file,
                                         form["file"].filename)
        image = MyImageModel(file=saved_file)
        image.save()
Ejemplo n.º 2
0
from starlette.authentication import AuthCredentials, AuthenticationBackend, SimpleUser
from starlette.middleware.authentication import AuthenticationMiddleware
from starlette.middleware.sessions import SessionMiddleware
from starlette.staticfiles import StaticFiles
from starlette_admin.config import config
from starlette_admin.site import AdminSite
from starlette_core.database import Database, DatabaseURL
from starlette_core.middleware import DatabaseMiddleware
from starlette_core.templating import Jinja2Templates

from .admin import AuditAdmin, ChildAdmin, ParentAdmin

DEBUG = True

templates = Jinja2Templates(loader=jinja2.ChoiceLoader([
    jinja2.PackageLoader("starlette_admin", "templates"),
    jinja2.PackageLoader("starlette_audit", "templates"),
]))

# config
starlette_admin.config.logout_url = '/auth/logout'
starlette_admin.config.templates = templates
starlette_auth.config.change_pw_template = "starlette_admin/auth/change_password.html"
starlette_auth.config.login_template = "starlette_admin/auth/login.html"
starlette_auth.config.templates = templates

url = DatabaseURL("sqlite:///example/db.sqlite3")

db = Database(url)
db.create_all()

# create an admin site
Ejemplo n.º 3
0
from html import unescape
from os.path import dirname, join, realpath

import jinja2
from starlette.applications import Starlette
from starlette.middleware.sessions import SessionMiddleware
from starlette.responses import RedirectResponse
from starlette.testclient import TestClient

from starlette_core.messages import message
from starlette_core.templating import Jinja2Templates

templates_directory = join(dirname(realpath(__file__)), "templates")
templates = Jinja2Templates(
    loader=jinja2.FileSystemLoader(templates_directory))


def add_message(request):
    message(request, "Hello World")
    return RedirectResponse("/view", status_code=302)


def view_message(request):
    context = {"request": request}
    return templates.TemplateResponse("message.html", context)


def create_app():
    app = Starlette()
    app.add_route("/add", add_message)
    app.add_route("/view", view_message)
Ejemplo n.º 4
0
class AppConfig:
    templates: Jinja2Templates = Jinja2Templates(
        loader=jinja2.PackageLoader("starlette_admin"))
Ejemplo n.º 5
0
import jinja2
from starlette_core.templating import Jinja2Templates

templates = Jinja2Templates(loader=jinja2.FileSystemLoader("templates"))
Ejemplo n.º 6
0
import pytest
from sqlalchemy_utils import create_database, database_exists, drop_database
from starlette.applications import Starlette
from starlette.authentication import requires
from starlette.middleware.authentication import AuthenticationMiddleware
from starlette.middleware.sessions import SessionMiddleware
from starlette.responses import JSONResponse
from starlette.testclient import TestClient
from starlette_core.database import Database, DatabaseURL, Session
from starlette_core.templating import Jinja2Templates

import starlette_auth
from starlette_auth.tables import User

# basic config for auth app
starlette_auth.config.templates = Jinja2Templates(
    loader=jinja2.FileSystemLoader("tests/templates"))
starlette_auth.config.login_template = "form.html"
starlette_auth.config.change_pw_template = "form.html"
starlette_auth.config.reset_pw_template = "form.html"
starlette_auth.config.reset_pw_done_template = "thanks.html"
starlette_auth.config.reset_pw_email_subject_template = "password_reset_subject.txt"
starlette_auth.config.reset_pw_email_template = "password_reset_body.txt"
starlette_auth.config.reset_pw_confirm_template = "form.html"
starlette_auth.config.reset_pw_complete_template = "thanks.html"

url = DatabaseURL("sqlite://")
db = Database(url)


@pytest.fixture(scope="session", autouse=True)
def database():