# Commands
These are all the [Django management commands](https://docs.djangoproject.com/en/5.1/ref/django-admin)
that will be added by installing `django_components`:
## `upgradecomponent`
```txt
usage: manage.py upgradecomponent [-h] [--path PATH] [--version] [-v {0,1,2,3}] [--settings SETTINGS]
[--pythonpath PYTHONPATH] [--traceback] [--no-color] [--force-color]
[--skip-checks]
```
See source code
Updates component and component_block tags to the new syntax
**Options:**
- `-h`, `--help`
- show this help message and exit
- `--path PATH`
- Path to search for components
- `--version`
- Show program's version number and exit.
- `-v {0,1,2,3}`, `--verbosity {0,1,2,3}`
- Verbosity level; 0=minimal output, 1=normal output, 2=verbose output, 3=very verbose output
- `--settings SETTINGS`
- The Python path to a settings module, e.g. "myproject.settings.main". If this isn't provided, the DJANGO_SETTINGS_MODULE environment variable will be used.
- `--pythonpath PYTHONPATH`
- A directory to add to the Python path, e.g. "/home/djangoprojects/myproject".
- `--traceback`
- Raise on CommandError exceptions.
- `--no-color`
- Don't colorize the command output.
- `--force-color`
- Force colorization of the command output.
- `--skip-checks`
- Skip system checks.
## `startcomponent`
```txt
usage: manage.py startcomponent [-h] [--path PATH] [--js JS] [--css CSS] [--template TEMPLATE] [--force]
[--verbose] [--dry-run] [--version] [-v {0,1,2,3}] [--settings SETTINGS]
[--pythonpath PYTHONPATH] [--traceback] [--no-color] [--force-color]
[--skip-checks]
name
```
See source code
Create a new django component.
**Positional Arguments:**
- `name`
- The name of the component to create. This is a required argument.
**Options:**
- `-h`, `--help`
- show this help message and exit
- `--path PATH`
- The path to the component's directory. This is an optional argument. If not provided, the command will use the `COMPONENTS.dirs` setting from your Django settings.
- `--js JS`
- The name of the JavaScript file. This is an optional argument. The default value is `script.js`.
- `--css CSS`
- The name of the CSS file. This is an optional argument. The default value is `style.css`.
- `--template TEMPLATE`
- The name of the template file. This is an optional argument. The default value is `template.html`.
- `--force`
- This option allows you to overwrite existing files if they exist. This is an optional argument.
- `--verbose`
- This option allows the command to print additional information during component creation. This is an optional argument.
- `--dry-run`
- This option allows you to simulate component creation without actually creating any files. This is an optional argument. The default value is `False`.
- `--version`
- Show program's version number and exit.
- `-v {0,1,2,3}`, `--verbosity {0,1,2,3}`
- Verbosity level; 0=minimal output, 1=normal output, 2=verbose output, 3=very verbose output
- `--settings SETTINGS`
- The Python path to a settings module, e.g. "myproject.settings.main". If this isn't provided, the DJANGO_SETTINGS_MODULE environment variable will be used.
- `--pythonpath PYTHONPATH`
- A directory to add to the Python path, e.g. "/home/djangoprojects/myproject".
- `--traceback`
- Raise on CommandError exceptions.
- `--no-color`
- Don't colorize the command output.
- `--force-color`
- Force colorization of the command output.
- `--skip-checks`
- Skip system checks.
### Management Command Usage
To use the command, run the following command in your terminal:
```bash
python manage.py startcomponent --path --js --css --template --force --verbose --dry-run
```
Replace ``, ``, ``, ``, and `` with your desired values.
### Management Command Examples
Here are some examples of how you can use the command:
#### Creating a Component with Default Settings
To create a component with the default settings, you only need to provide the name of the component:
```bash
python manage.py startcomponent my_component
```
This will create a new component named `my_component` in the `components` directory of your Django project. The JavaScript, CSS, and template files will be named `script.js`, `style.css`, and `template.html`, respectively.
#### Creating a Component with Custom Settings
You can also create a component with custom settings by providing additional arguments:
```bash
python manage.py startcomponent new_component --path my_components --js my_script.js --css my_style.css --template my_template.html
```
This will create a new component named `new_component` in the `my_components` directory. The JavaScript, CSS, and template files will be named `my_script.js`, `my_style.css`, and `my_template.html`, respectively.
#### Overwriting an Existing Component
If you want to overwrite an existing component, you can use the `--force` option:
```bash
python manage.py startcomponent my_component --force
```
This will overwrite the existing `my_component` if it exists.
#### Simulating Component Creation
If you want to simulate the creation of a component without actually creating any files, you can use the `--dry-run` option:
```bash
python manage.py startcomponent my_component --dry-run
```
This will simulate the creation of `my_component` without creating any files.