Resolve media and template files relative to component class dir (#395), thanks @JuroOravec

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Emil Stenström <emil@emilstenstrom.se>
This commit is contained in:
Juro Oravec 2024-03-23 19:01:39 +01:00 committed by GitHub
parent 1de859bd34
commit 37fd901908
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
21 changed files with 477 additions and 43 deletions

View file

@ -0,0 +1,3 @@
.html-css-only {
color: blue;
}

View file

@ -0,0 +1,5 @@
<form method="post">
{% csrf_token %}
<input type="text" name="variable" value="{{ variable }}">
<input type="submit">
</form>

View file

@ -0,0 +1 @@
console.log("JS file");

View file

@ -0,0 +1,24 @@
from typing import Any, Dict
from django.http import HttpResponse
from django_components import component
@component.register("relative_file_component")
class RelativeFileComponent(component.Component):
template_name = "relative_file.html"
class Media:
js = "relative_file.js"
css = "relative_file.css"
def post(self, request, *args, **kwargs) -> HttpResponse:
variable = request.POST.get("variable")
return self.render_to_response({"variable": variable})
def get(self, request, *args, **kwargs) -> HttpResponse:
return self.render_to_response({"variable": "GET"})
def get_context_data(self, variable, *args, **kwargs) -> Dict[str, Any]:
return {"variable": variable}