@@ -84,6 +84,9 @@ def _create_pyproject_toml(project_path: Path, project_name: str):
8484 "pytest-django",
8585 "ruff",
8686]
87+ encryption = [
88+ "pymongocrypt",
89+ ]
8790
8891[tool.pytest.ini_options]
8992DJANGO_SETTINGS_MODULE = "{ project_name } .settings.base"
@@ -114,7 +117,7 @@ def remove_project(name: str, directory: Path = Path(".")):
114117 typer .echo (f"❌ Project { name } does not exist." , err = True )
115118
116119
117- def _django_admin_cmd (
120+ def _django_manage_command (
118121 name : str ,
119122 directory : Path ,
120123 * args : str ,
@@ -132,12 +135,11 @@ def _django_admin_cmd(
132135
133136 parent_dir = project_path .parent .resolve ()
134137 env = os .environ .copy ()
135- env ["DJANGO_SETTINGS_MODULE" ] = f"{ name } .{
136- repo ._tool_cfg .get ('project' , {})
137- .get ('settings' , {})
138- .get ('path' , 'settings.base' )
139- } "
138+ env ["DJANGO_SETTINGS_MODULE" ] = (
139+ f"{ name } .{ repo ._tool_cfg .get ('project' , {}).get ('settings' , {}).get ('path' , 'settings.base' )} "
140+ )
140141 env ["PYTHONPATH" ] = str (name ) + os .pathsep + env .get ("PYTHONPATH" , "" )
142+ typer .echo (f"🔧 Using DJANGO_SETTINGS_MODULE={ env ['DJANGO_SETTINGS_MODULE' ]} " )
141143 if extra_env :
142144 env .update (extra_env )
143145
@@ -206,7 +208,7 @@ def run_project(
206208 with MONGODB_URI set in the environment if provided.
207209 """
208210 typer .echo (f"🚀 Running project '{ name } ' on http://{ host } :{ port } " )
209- _django_admin_cmd (
211+ _django_manage_command (
210212 name ,
211213 directory / name ,
212214 "runserver" ,
@@ -238,7 +240,9 @@ def migrate_project(
238240 cmd .append (migration_name )
239241
240242 typer .echo (f"📦 Applying migrations for project '{ name } '" )
241- _django_admin_cmd (name , directory , * cmd , extra_env = _build_mongodb_env (mongodb_uri ))
243+ _django_manage_command (
244+ name , directory , * cmd , extra_env = _build_mongodb_env (mongodb_uri )
245+ )
242246
243247
244248@project .command ("makemigrations" )
@@ -259,11 +263,13 @@ def makemigrations_project(
259263 cmd .append (app_label )
260264
261265 typer .echo (f"🛠️ Making migrations for project '{ name } '" )
262- _django_admin_cmd (name , directory , * cmd , extra_env = _build_mongodb_env (mongodb_uri ))
266+ _django_manage_command (
267+ name , directory , * cmd , extra_env = _build_mongodb_env (mongodb_uri )
268+ )
263269
264270
265- @project .command ("admin " )
266- def admin_command (
271+ @project .command ("manage " )
272+ def manage_command (
267273 name : str ,
268274 directory : Path = Path ("." ),
269275 command : str = typer .Argument (None ),
@@ -276,10 +282,10 @@ def admin_command(
276282 Run any django-admin command for a project.
277283
278284 Examples:
279- dm project admin mysite shell
280- dm project admin mysite createsuperuser
281- dm project admin mysite --mongodb-uri mongodb+srv://user:pwd@cluster
282- dm project admin mysite
285+ dm project manage mysite shell
286+ dm project manage mysite createsuperuser
287+ dm project manage mysite --mongodb-uri mongodb+srv://user:pwd@cluster
288+ dm project manage mysite
283289 """
284290 if args is None :
285291 args = []
@@ -293,10 +299,10 @@ def admin_command(
293299
294300 if command :
295301 typer .echo (f"⚙️ Running django-admin { command } { ' ' .join (args )} for '{ name } '" )
296- _django_admin_cmd (name , directory , command , * args )
302+ _django_manage_command (name , directory , command , * args )
297303 else :
298304 typer .echo (f"ℹ️ Running django-admin with no arguments for '{ name } '" )
299- _django_admin_cmd (name , directory )
305+ _django_manage_command (name , directory )
300306
301307
302308@project .command ("su" )
@@ -331,7 +337,7 @@ def create_superuser(
331337 extra_env = _build_mongodb_env (mongodb_uri ) or {}
332338 extra_env ["DJANGO_SUPERUSER_PASSWORD" ] = password
333339
334- _django_admin_cmd (
340+ _django_manage_command (
335341 name ,
336342 directory ,
337343 "createsuperuser" ,
0 commit comments