Форум программистов, компьютерный форум, киберфорум
Python: Django
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 1
Регистрация: 08.05.2016
Сообщений: 56

Создание и удаление доменов с использованием скрипта на python

05.12.2018, 00:44. Показов 1031. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
ОС debian 8
Здравствуйте, есть скрипт на python для создания доменов при помощи apache2 , django на дебиан.
скрипт на питоне:
views.py
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
 
from django.shortcuts import render,redirect
from .models import Domen
from .forms import DomenForm
# Create your views here.
import os
 
def index(request):
    
    
    if request.method == "POST":
        form = DomenForm(request.POST)
        if form.is_valid():
            form_save = form.save(commit=False)
            domen=form_save.name
            with open('/var/domens/templates.conf', 'r') as f:
                new_file = f.read().replace('###domen###', '%s' % domen)
            os.popen('/bin/mkdir /var/domens/%s' % domen).read()
            os.popen('/bin/echo "%s" > /var/domens/%s/index.html' % (domen,domen)).read()
            with open('/etc/apache2/sites-available/%s' % domen, 'w') as f:
                f.write(new_file)
            os.popen('/bin/ln -s /etc/apache2/sites-available/%s /etc/apache2/sites-enabled/' % domen).read()
            form_save.save()
            return redirect('/')
    else:
        form = DomenForm()
    
    list_domens = Domen.objects.all()
    
    context = {'form':form, 'list_domens':list_domens}
    template = 'index.html'
    return render(request, template,context)
forms.py
Python
1
2
3
4
5
6
7
8
9
from django.db import models
from django.forms import ModelForm
from models import Domen
 
 
class DomenForm(ModelForm):
    class Meta:
        model = Domen
        fields = ['name',]
models.py
Python
1
2
3
4
5
6
7
8
9
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
 
from django.db import models
 
 
 
class Domen(models.Model):
    name = models.CharField(max_length=200)
страница на html
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<!doctype html>
<html lang="en">
  <head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
 
    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="/static/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
 
    <title>Hello, world!</title>
  </head>
  <body>
    <h1>Hello, world!</h1>
    <form class="form-inline" action="" method="POST">
    {% csrf_token %}
    {{form.as_p}}
    
    <button type="submit" class="btn btn-primary mb-2">Создать</button>
    </form>
    
    
    <br><br><br>
    <p>Домены</p>
    
    {% for d in list_domens %}
    <p>{{d.name}}</p>
    
    {% endfor %}
    <!-- Optional JavaScript -->
    <!-- jQuery first, then Popper.js, then Bootstrap JS -->
    <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
    <script src="/static/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
  </body>
</html>
Необходимо, реализовать возможность выбора веб-сервера(данный скрипт для apache2) apache2 или nginx и последующего создание домена, и удаление доменов(в том числе с каталогов domens и sites-available)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.12.2018, 00:44
Ответы с готовыми решениями:

Запуск Python скрипта с использованием Jupyter
Доброго времени суток! Впервые столкнулась с пайтоном, поэтому прошу помощи. Мое задание состоит в том, чтобы немного исправить...

Как можно с использованием python скрипта оставлять комментарии на YouTube
Доброго времени суток. Как можно с помощью python скрипта оставлять комментарии под видео в YouTube? Так же желательно заключить это в...

Создание скрипта с использованием WSH - Windows Script Host на VB laguage
есть задача 1) пусть в определенную папку &quot;TEST&quot; на диск С мне поступают файлы формата: YYMMDDHHMMSS.DAT , где YY -год, MM -месяц,...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.12.2018, 00:44
Помогаю со студенческими работами здесь

Создание телеграмм бота на python с использованием telegrambotapi
import telebot from telebot import types import COVID19Py covid19 = COVID19Py.COVID19() bot =...

Создание записной книжки в Python с использованием Pandas
Всем привет! Недавно начал изучать Питон, ради тренировки решил попробовать создать записную книжку Почитал-почитал, решил, что буду...

Создание приложений работающих с многопоточными файлами системы NTFS с использованием winAPI32 для python
Здравствуйте! Я пытаюсь перевести код с c++ на python. В последней строке ошибка - syntax error. - именно функции WriteFile - но именно в...

Запуск скрипта написанного на python на windows, где не установлен python
Не запускается скрипт на Windows, где не установлен python. Команда в коде на выполнение написана так: def Adminnewpriglash(): ...

Как из Python скрипта выполнить другой python скрипт?
Как из Python скрипта выполнить другой python скрипт? Если он находится в той же папке но нужно передать еще передать скрипту аргументы.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru