Comments (3)
Could you say a bit more about why your want that?
from django-components.
Yes, indeed I should have given a more complete explanation on this request.
If I take the example of the "calendar" component from the documentation :
@component.register("calendar")
class Calendar(component.Component):
# Templates inside `[your apps]/components` dir and `[project root]/components` dir will be automatically found. To customize which template to use based on context
# you can override def get_template_name() instead of specifying the below variable.
template_name = "calendar/calendar.html"
# This component takes one parameter, a date string to show in the template
def get_context_data(self, date):
return {
"date": date,
}
class Media:
css = "calendar/calendar.css"
js = "calendar/calendar.js"
- Pycharm will display the following warning: "method signature does not match signature of overridden method"
- Pylint will display the following warning: https://pylint.pycqa.org/en/latest/user_guide/messages/warning/arguments-differ.html
And in a slightly different example, if I set the type of the date parameter like this :
@component.register("calendar")
class Calendar(component.Component):
# Templates inside `[your apps]/components` dir and `[project root]/components` dir will be automatically found. To customize which template to use based on context
# you can override def get_template_name() instead of specifying the below variable.
template_name = "calendar/calendar.html"
# This component takes one parameter, a date string to show in the template
def get_context_data(self, date: str):
return {
"date": date,
}
class Media:
css = "calendar/calendar.css"
js = "calendar/calendar.js"
Then mypy will raise the following error:
myapp/components/calendar/calendar.py:8: error: Signature of "get_context_data" incompatible with supertype "Component"
myapp/components/calendar/calendar.py:8: note: Superclass:
myapp/components/calendar/calendar.py:8: note: def get_context_data(self) -> Any
myapp/components/calendar/calendar.py:8: note: Subclass:
myapp/components/calendar/calendar.py:8: note: def get_context_data(self, date: str) -> Any
from django-components.
Thank you for you explanation! I fixed this as part of the 0.23 release. Let me know how it works.
from django-components.
Related Issues (20)
- python file names colide with global scope variables/modules HOT 6
- Release Version 1.0 HOT 3
- Tests: Component registry is not isolated across tests HOT 2
- v0.67 broken for "context_behavior": "isolated" HOT 1
- Doc bug: Imports in the view example
- Doc bug: component_tags instead of django_components HOT 2
- Remove options for slot context behavior for v1.0 HOT 9
- Nested slot fills with same name (and same component?) override outer slot fills HOT 1
- Bug: Context vars missing in slots when `isolated` settings
- "django_components.component" does not explicitly export attribute "register" HOT 10
- Async middleware HOT 5
- Tests refactor: Move from template files to inline templates HOT 2
- Define public API HOT 1
- template_loader blocks on STATICFILES_DIRS if there are tuples HOT 1
- Allow to render component dependencies without middleware HOT 11
- Feature parity with Juro's fork HOT 1
- Topic on new behaviour for dispatching slots using 'include' tags HOT 2
- Better support for AlpineJS HOT 5
- Scoped slots - Passing data to slots and accessing them in fills HOT 20
- Revert back to "django" as the default setting for "context_behavior"
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from django-components.