Repository: cookiecutter/cookiecutter-django

Issue:
pre-commit config file excluding files that are not supposed to be excluded
## What happened?
In file: ` cookiecutter-django/{{cookiecutter.project_slug}}/.pre-commit-config.yaml ` line number 1:
`exclude: 'docs|node_modules|migrations|.git|.tox'` using this statement it excludes any file/directory with word 'docs' in it, for example it will exclude:
* ml_docs/
* docs_serializer.py
* docs/
* docs.py
## What should've happened instead?
instead it should only exclude docs/
## Additional details
I tried changing the exclude to: `exclude: '^docs$|node_modules|migrations|.git|.tox'`
but it didn't work either
<!-- To assist you best, please include commands that you've run, options you've selected and any relevant logs -->

* Host system configuration: 
    * Version of cookiecutter CLI (get it with `cookiecutter --version`):
    * OS name and version:

      On Linux, run 
      ```bash
      lsb_release -a 2> /dev/null || cat /etc/redhat-release 2> /dev/null || cat /etc/*-release 2> /dev/null || cat /etc/issue 2> /dev/null
      ```

      On MacOs, run
      ```bash
      sw_vers
      ```
      
      On Windows, via CMD, run
      ```
      systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
      ```


      ```bash
      # Insert here the OS name and version
      
      ```

    * Python version, run `python3 -V`:
    * Docker version (if using Docker), run `docker --version`:
    * docker-compose version (if using Docker), run `docker-compose --version`:
    * ...
* Options selected and/or [replay file](https://cookiecutter.readthedocs.io/en/latest/advanced/replay.html):
  On Linux and MacOS: `cat ${HOME}/.cookiecutter_replay/cookiecutter-django.json`
  (Please, take care to remove sensitive information)
    ```json
    # Insert here the replay file content
    ```
<summary>
Logs:
<details>
<pre>
$ cookiecutter https://github.com/pydanny/cookiecutter-django
project_name [Project Name]: ...
</pre>
</details>
</summary>



Discussion:
Is this issue open
Looks like the implementation of the `exclude` option is here:

https://github.com/pre-commit/pre-commit/blob/26a05b547e45da9f35e79f4f0e7a1806adf82387/pre_commit/meta_hooks/check_useless_excludes.py#L15-L26

Looks like it's doing `re.search` on the entire file path... So we should be able to fix it with:

```diff
- exclude: 'docs|node_modules|migrations|.git|.tox'
+ exclude: '^docs/|node_modules|migrations|.git|.tox'
```

Additionaly, I don't think we need most of the other patterns, as I _believe_ pre-commit ignores files specified in `.gitignore` anyway.

Resolving patch:
diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/contrib/sites/migrations/0004_alter_options_ordering_domain.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/contrib/sites/migrations/0004_alter_options_ordering_domain.py
--- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/contrib/sites/migrations/0004_alter_options_ordering_domain.py
+++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/contrib/sites/migrations/0004_alter_options_ordering_domain.py
@@ -6,12 +6,16 @@
 class Migration(migrations.Migration):
 
     dependencies = [
-        ('sites', '0003_set_site_domain_and_name'),
+        ("sites", "0003_set_site_domain_and_name"),
     ]
 
     operations = [
         migrations.AlterModelOptions(
-            name='site',
-            options={'ordering': ['domain'], 'verbose_name': 'site', 'verbose_name_plural': 'sites'},
+            name="site",
+            options={
+                "ordering": ["domain"],
+                "verbose_name": "site",
+                "verbose_name_plural": "sites",
+            },
         ),
     ]


Test patch: