Advertisement
Guest User

Untitled

a guest
Feb 18th, 2018
294
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 5.40 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2. from __future__ import unicode_literals
  3.  
  4. import datetime
  5. from django import forms
  6. from django.db import models
  7. from django.utils import timezone
  8. from django.core.urlresolvers import reverse
  9. from django.contrib.postgres.fields import JSONField
  10. #from django.contrib.sites.models import Site
  11.  
  12. # Родительский класс для всех моделей - страниц сайта
  13. class Page(models.Model):
  14.     class Meta:
  15.         abstract = True
  16.    
  17.     seo_h1 = models.CharField( max_length=200 , verbose_name="H1" , null=True , blank=True )
  18.     seo_title = models.CharField( max_length=200 , verbose_name="Title" , null=True , blank=True )
  19.     seo_description = models.CharField( max_length=500 , verbose_name="Description" , null=True , blank=True )
  20.     seo_keywords = models.CharField( max_length=500 , verbose_name="Keywords" , null=True , blank=True )
  21.     alias = models.SlugField( max_length=200 , verbose_name=u"Псевдоним" )
  22.     menuposition = models.IntegerField( default=0 , verbose_name=u"Позиция в меню" )
  23.     menushow = models.BooleanField( default=True , verbose_name=u"Показывать в меню" )
  24.     sitemap = models.BooleanField( default=True , verbose_name=u"Показывать в карте сайта" )
  25.     content = models.TextField( verbose_name=u"Статья" , null=True , blank=True )
  26. #    host = models.ForeignKey(Site, on_delete=models.deletion.SET_DEFAULT, default=1, verbose_name=u"Хост")
  27.  
  28. # Модель обычной текстовой страницы
  29. class Textpage(Page):
  30.     class Meta:
  31.         verbose_name = u"Текстовая страница"
  32.         verbose_name_plural = u"Страницы"
  33.    
  34.     name = models.CharField( max_length=200 , verbose_name=u"Имя страницы" , null=True , blank=True)
  35.    
  36.     def get_absolute_url(self):
  37.         if self.alias == "index" :
  38.             return reverse('mailbase:index', kwargs={})
  39.         else :
  40.             return reverse('mailbase:textpage', kwargs={'textpage_alias': self.alias})
  41.    
  42.     def __unicode__(self):
  43.         return self.name
  44.        
  45. # Модель сервисов
  46. class Service(Page):
  47.     class Meta:
  48.         verbose_name = u"Интернет Сервис"
  49.         verbose_name_plural = u"Интернет сервисы"
  50.  
  51.     name = models.CharField( max_length=200 , verbose_name=u"Название сервиса")
  52.     url = models.CharField(max_length=200, verbose_name=u"url сервиса", null=True , blank=True)
  53.     query = models.CharField(max_length=200, verbose_name=u"Почтовый запрос сервиса", null=True , blank=True)
  54.     theme = models.CharField(max_length=200, verbose_name=u"Тематика", null=True , blank=True)
  55.    
  56.    
  57.     def __unicode__(self):
  58.         return self.name
  59.  
  60. # Модель почтовых доменов
  61. class Domain(Page):
  62.     class Meta:
  63.         verbose_name = u"Почтовый домен (пример: @mail.ru)"
  64.         verbose_name_plural = u"Почтовый домен(пример: @mail.ru)"
  65.  
  66.     name = models.CharField( max_length=200 , verbose_name=u"Почта вида example@mail.ru")
  67.    
  68.     def __unicode__(self):
  69.         return self.name
  70.  
  71. # Модель почт
  72. class Mail(Page):
  73.     class Meta:
  74.         verbose_name = u"Почта (пример: example@mail.ru)"
  75.         verbose_name_plural = u"Почты(пример: example@mail.ru)"
  76.  
  77.     name = models.CharField( max_length=200 , verbose_name=u"Уникальный почтовый адрес вида example@mail.ru")
  78.     domain = models.ForeignKey(Domain, verbose_name=u"Почтовый домен", null=True , blank=True)
  79.     services = models.ManyToManyField(Service, related_name = 'services', verbose_name=u"Рега в сервисах")
  80.     snatch = models.ManyToManyField(Service, related_name = 'snatch', verbose_name=u"Снятые с этой почты аккаунты")
  81.    
  82.     def __unicode__(self):
  83.         return self.name
  84.        
  85. # Модель базы
  86. class Base(Page):
  87.     class Meta:
  88.         verbose_name = u"База(происхождение материала)"
  89.         verbose_name_plural = u"Базы"
  90.  
  91.     name = models.CharField( max_length=200 , verbose_name=u"Название базы")
  92.    
  93.     def __unicode__(self):
  94.         return self.name
  95.  
  96. # Модель пары почта пароль
  97. class Mailpass(Page):
  98.     class Meta:
  99.         verbose_name = u"Пара почта пароль (пример: example@mail.rupasswd)"
  100.         verbose_name_plural = u"Пары почта пароль (пример: example@mail.rupasswd)"
  101.  
  102.     name = models.CharField( max_length=200 , verbose_name=u"логин пароль в формате: example@mail.rupassword без разделителей")
  103.     mail = models.ForeignKey(Mail, verbose_name=u"Почта(Уникальный почтовый адрес)")
  104.     password = models.CharField(max_length=200, verbose_name=u"Пароль")
  105.     base = models.ForeignKey(Base, verbose_name=u"База происхождения пары")
  106.     status = models.CharField(max_length=200, verbose_name=u"Статус пары")
  107.     public = models.BooleanField(default=True, verbose_name=u"Наличие в публичных базах")
  108.     pub_date = models.DateTimeField(default=datetime.datetime.now(), verbose_name=u'Дата добавления')
  109.    
  110.     def __unicode__(self):
  111.         return self.name
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement