def main(domain, django_version, python_version, nuke): domain = ensure_domain(domain) project = DjangoProject(domain, python_version) project.sanity_checks(nuke=nuke) project.create_virtualenv(django_version, nuke=nuke) project.run_startproject(nuke=nuke) project.find_django_files() project.update_settings_file() project.run_collectstatic() project.create_webapp(nuke=nuke) project.add_static_file_mappings() project.update_wsgi_file() project.webapp.reload() print(snakesay(f'All done! Your site is now live at https://{domain}'))
def main(repo_url, domain, python_version, nuke): domain = ensure_domain(domain) project = DjangoProject(domain, python_version) project.sanity_checks(nuke=nuke) project.download_repo(repo_url, nuke=nuke), project.create_virtualenv(nuke=nuke) project.create_webapp(nuke=nuke) project.add_static_file_mappings() project.find_django_files() project.update_wsgi_file() project.update_settings_file() project.run_collectstatic() project.run_migrate() project.webapp.reload() print(snakesay('All done! Your site is now live at https://{domain}'.format(domain=domain))) print() project.start_bash()
def test_adds_domain_to_ALLOWED_HOSTS(self): project = DjangoProject('mydomain.com', 'python.version') project.settings_path = Path(tempfile.NamedTemporaryFile().name) with project.settings_path.open('w') as f: f.write( dedent(""" # settings file STATIC_URL = '/static/' ALLOWED_HOSTS = [] """)) project.update_settings_file() with project.settings_path.open() as f: lines = f.read().split('\n') assert "ALLOWED_HOSTS = ['mydomain.com']" in lines
def test_adds_domain_to_ALLOWED_HOSTS(self, virtualenvs_folder): project = DjangoProject("mydomain.com", "python.version") project.settings_path = Path(tempfile.NamedTemporaryFile().name) project.virtualenv.get_version = Mock(return_value="1.0") with project.settings_path.open("w") as f: f.write( dedent(""" # settings file STATIC_URL = '/static/' ALLOWED_HOSTS = [] """)) project.update_settings_file() with project.settings_path.open() as f: lines = f.read().split("\n") assert "ALLOWED_HOSTS = ['mydomain.com']" in lines
def test_adds_STATIC_and_MEDIA_config_to_settings(self): project = DjangoProject('mydomain.com', 'python.version') project.settings_path = Path(tempfile.NamedTemporaryFile().name) with project.settings_path.open('w') as f: f.write( dedent(""" # settings file STATIC_URL = '/static/' ALLOWED_HOSTS = [] """)) project.update_settings_file() with project.settings_path.open() as f: lines = f.read().split('\n') assert "STATIC_URL = '/static/'" in lines assert "MEDIA_URL = '/media/'" in lines assert "STATIC_ROOT = os.path.join(BASE_DIR, 'static')" in lines assert "MEDIA_ROOT = os.path.join(BASE_DIR, 'media')" in lines
def main(repo_url, domain, python_version, nuke): if domain == 'your-username.pythonanywhere.com': username = getpass.getuser().lower() pa_domain = os.environ.get('PYTHONANYWHERE_DOMAIN', 'pythonanywhere.com') domain = '{username}.{pa_domain}'.format(username=username, pa_domain=pa_domain) project = DjangoProject(domain, python_version) project.sanity_checks(nuke=nuke) project.download_repo(repo_url, nuke=nuke), project.create_virtualenv(nuke=nuke) project.create_webapp(nuke=nuke) project.add_static_file_mappings() project.find_django_files() project.update_wsgi_file() project.update_settings_file() project.run_collectstatic() project.run_migrate() project.webapp.reload() print(snakesay('All done! Your site is now live at https://{domain}'.format(domain=domain))) print() project.start_bash()
def main(domain, django_version, python_version, nuke): if domain == 'your-username.pythonanywhere.com': username = getpass.getuser().lower() pa_domain = os.environ.get('PYTHONANYWHERE_DOMAIN', 'pythonanywhere.com') domain = f'{username}.{pa_domain}' project = DjangoProject(domain, python_version) project.sanity_checks(nuke=nuke) project.create_virtualenv(django_version, nuke=nuke) project.run_startproject(nuke=nuke) project.find_django_files() project.update_settings_file() project.run_collectstatic() project.create_webapp(nuke=nuke) project.add_static_file_mappings() project.update_wsgi_file() project.webapp.reload() print(snakesay(f'All done! Your site is now live at https://{domain}'))
def test_only_adds_MEDIA_ROOT_if_its_not_already_there( self, virtualenvs_folder): project = DjangoProject("mydomain.com", "python.version") project.settings_path = Path(tempfile.NamedTemporaryFile().name) project.virtualenv.get_version = Mock(return_value="1.0") with project.settings_path.open("w") as f: f.write( dedent(""" # settings file STATIC_URL = '/static/' ALLOWED_HOSTS = [] MEDIA_ROOT = media_root """)) project.update_settings_file() with project.settings_path.open() as f: lines = f.read().split("\n") assert "MEDIA_ROOT = media_root" in lines assert "MEDIA_ROOT = os.path.join(BASE_DIR, 'media')" not in lines
def test_adds_STATIC_and_MEDIA_config_to_settings_with_new_django( self, virtualenvs_folder): project = DjangoProject("mydomain.com", "python.version") project.settings_path = Path(tempfile.NamedTemporaryFile().name) project.virtualenv.get_version = Mock(return_value="3.1.1") with project.settings_path.open("w") as f: f.write( dedent(""" # settings file STATIC_URL = '/static/' ALLOWED_HOSTS = [] """)) project.update_settings_file() with project.settings_path.open() as f: lines = f.read().split("\n") assert "STATIC_URL = '/static/'" in lines assert "MEDIA_URL = '/media/'" in lines assert "STATIC_ROOT = Path(BASE_DIR / 'static')" in lines assert "MEDIA_ROOT = Path(BASE_DIR / 'media')" in lines