input: Write a python function to create a Django project, run migrations, create an app, modify settings, and create models with provided code.
  assert create_django_project() is not None
  assert run_migrations() is not None
  assert create_app() is not None
  assert modify_settings() is not None
  assert create_models() is not None
output: import os
  import subprocess
  
  def create_django_project(project_name='myproject'):
      if not os.path.exists(project_name):
          subprocess.run(['django-admin', 'startproject', project_name])
      return project_name
  
  def run_migrations(project_name='myproject'):
      manage_py = os.path.join(project_name, 'manage.py')
      subprocess.run(['python', manage_py, 'migrate'])
      return True
  
  def create_app(project_name='myproject', app_name='myapp'):
      manage_py = os.path.join(project_name, 'manage.py')
      subprocess.run(['python', manage_py, 'startapp', app_name])
      return app_name
  
  def modify_settings(project_name='myproject', app_name='myapp'):
      settings_path = os.path.join(project_name, project_name, 'settings.py')
      with open(settings_path, 'r') as file:
          lines = file.readlines()
  
      new_lines = []
      for line in lines:
          new_lines.append(line)
          if line.startswith('INSTALLED_APPS ='):
              new_lines.append(f"    '{app_name}',\n")
  
      with open(settings_path, 'w') as file:
          file.writelines(new_lines)
      return True
  
  def create_models(project_name='myproject', app_name='myapp'):
      models_path = os.path.join(project_name, app_name, 'models.py')
      model_code = """
  from django.db import models
  
  class ExampleModel(models.Model):
      name = models.CharField(max_length=100)
      description = models.TextField()
  
      def __str__(self):
          return self.name
  """
      with open(models_path, 'a') as file:
          file.write(model_code)
      return True