page:blueprints:creator businesses:asset library:django
Creator businesses: asset library using Django
Summary
A asset library blueprint for creator businesses built with Django on Ample. Domain schema: customer_workspaces (name, membership_tier, joined_at): member accounts or communities; content_items (title, tier_required, object_key, published_at, version): versioned content releases; customer_assets (workspace_id, title, object_key, visibility): downloads granted to a member; releases (content_item_id, version, notes): release notes per version; uploads (id, owner_reference, object_key, content_type, size, uploaded_at): validated uploads linked to their owner. Public information: free content and previews, membership tiers, creator profile. Kept out of scope until handling is reviewed: member identity and payment status, private community posts. Member payment status comes from your payment provider; it is not modeled here and no PCI claim is made. Technical basis verified on Django: content-type and size validation that rejects disallowed files, an object written to a private bucket and a row linking the record to the object key (reject=ok upload=ok linked=ok).
Representative Queries
- Creator businesses: asset library using Django
- Where can I host Creator businesses: Asset library built with Django?
- I need a genuinely specialized asset library workflow covering sponsor/client workspaces, publication guides and content assets.
Resource Requirements
- primitive:compute
- primitive:postgres
- primitive:s3-compatible-object-storage
Infrastructure Requirements
- Compute: Apps run in isolated x86_64 Firecracker microVMs that auto-pause when idle and wake on request; sizes are the priced VM sizes.
- Postgres: Managed PostgreSQL 16 runs in its own microVM and is auto-provisioned when an app needs a database and no DATABASE_URL is supplied.
- S3-compatible object storage: Buckets are S3-compatible with issued credentials; PutObject and GetObject are verified by canary. Other S3 operations are not verified.
Framework
Django
Workload
Asset library
Industry
Creator businesses
Release Status
Published
Support Status
Verified
Execution Status
Ready
Docs Only
False
Prerequisites
- A Django project (pip install into .ample/python from requirements.txt, then waitress serving project.wsgi from run.py reading PORT on the python-3.12 template)
- A PostgreSQL driver reading DATABASE_URL (auto-provisioned when omitted)
- Bucket credentials from
ample bucket createpassed as encrypted S3_* environment variables - A review of which creator businesses data classes may be handled at all; this blueprint models public information only
Tested Configuration
- Template: python-3.12
- Runtime: python
- Size: s-1vcpu-1gb
- Install command: python3 -m pip install --target .ample/python -r requirements.txt
- Start command: PYTHONPATH=.ample/python:${PYTHONPATH:-} python3 run.py
Input Schema
- Properties:
- env: Encrypted environment variables
- name: App name
- path: Project directory or ample.toml service
- release_command: Migration command run before activation
- start: Start command
- Required: ["env", "name", "path", "start"]
Workflow Steps
- Model the creator businesses domain: Create the tables customer_workspaces, content_items, customer_assets, releases, uploads. Member accounts or communities lives in customer_workspaces; keep the sensitive classes (member identity and payment status, private community posts) out of this schema.
- Model assets linked to their owning group or workspace
- Validate uploads and store them in the private bucket; link each object to its row
- Authorize downloads by membership
- Deploy and verify rejection of disallowed files and a linked upload
- Run the synchronous deploy once and read the result. Re-running with no change is a no-op.
- Command: ample deploy . --name --public --start "python3 run.py" --env S3_ENDPOINT=... --env S3_REGION=... --env S3_BUCKET=... --env S3_ACCESS_KEY_ID=... --env S3_SECRET_ACCESS_KEY=...
- Verify: Run the pattern self-test(s) from the example (/p/browser-file-uploads) and your own acceptance checks for the creator businesses workflow.
- Command: ample logs --kind build
Examples
- Django pattern fixture: Verified browser file uploads basis for this blueprint.
Success Checks
- App responds on its public URL: Path: /, Expect: ample canary django patterns
- Browser-file-uploads self-test from the example: Path: /p/browser-file-uploads, Expect: see the pattern fixture checks
Limitations
- The technical basis (browser file uploads on Django) was verified with the pattern fixture; the creator businesses schema and workflow are an original design for this blueprint and were not executed as a separate application.
- No health, financial, privacy or other compliance claim is made. Member payment status comes from your payment provider; it is not modeled here and no PCI claim is made.
- Public content and synthetic examples only until actual data-handling requirements have been reviewed.
- Verified on the python-3.12 template at s-1vcpu-1gb; region, request-duration limits and other sizes are unknown or unverified.
- Managed PostgreSQL 16 only; extensions, connection limits and backup or restore procedures are not verified.
- PutObject and GetObject with path-style addressing are verified; other S3 operations and CDN cache rules are not.
Cost Estimate
- Currency: USD
- Monthly Amount: 10.0
- Authoritative: true
- Basis: size prices from pricing.toml (loaded by the API) at build revision 1ac5595375130d45290090e82ed0f554ccd45405-dirty
- Components:
- app server: size: s-1vcpu-1gb, quantity: 1.0, monthly amount: 5.0
- managed PostgreSQL database: size: s-1vcpu-1gb, quantity: 1.0, monthly amount: 5.0
- Note: Always-on monthly price of the tested sizes; apps and databases auto-pause when idle. Buckets are allocation-priced per quota and not included.
Evidence Summary
- Kind: canary_run
- Summary: Django pattern fixture deployed on Ample (pip install into .ample/python from requirements.txt, then waitress serving project.wsgi from run.py reading PORT on the python-3.12 template); the browser file uploads checks passed: content-type and size validation that rejects disallowed files, an object written to a private bucket and a row linking the record to the object key (reject=ok upload=ok linked=ok). The blueprint's Creator businesses schema and workflow below build on that verified basis and were not separately executed.
- Observed At: 2026-09-20T03:31:44Z
- Implementation Revision: 03b6402b1b3e19178985f08ea4033804521d85d4-dirty (CLI b75e104)
- Expires At: 2027-03-19T03:31:44Z
- Scope: Checks: [/p/browser-file-uploads], Pattern: pattern:browser-file-uploads, Template: python-3.12
Last Verified At
2026-09-20T03:31:44Z
Next Actions
- Browse the catalog index: operationId: catalog_index, method: GET, relativePath: /v1/catalog
- Search published recipes by intent, stack and constraints: operationId: search_recipes, method: POST, relativePath: /v1/catalog/search
- Prepare a side-effect-free deployment plan for an authorized project: operationId: plan_deployment, method: POST, relativePath: /v1/catalog/plan
- Read the existing agent authentication setup: operationId: existing_auth_setup, method: GET, relativePath: /mcp/setup
- Browse Creator businesses: operationId: browse_node, method: GET, relativePath: /v1/catalog/nodes/industry%3Acreator-businesses
- Browse Asset library: operationId: browse_node, method: GET, relativePath: /v1/catalog/nodes/workload%3Aasset-library
- Browse Django: operationId: browse_node, method: GET, relativePath: /v1/catalog/nodes/stack%3Aframework-django
- Browse Deploy web app: operationId: browse_node, method: GET, relativePath: /v1/catalog/nodes/intent%3Adeploy-web-app