Django estilo oficial código resumen de aprendizaje guía

estilo pitón

PEP 8 gobernador limita un máximo de 79 caracteres, pero Django permite hasta 119 caracteres (esta es la herramienta de revisión de código permite anchura GitHub). LIMITACIONES PEP 8, anotación, la cadena de documentación de longitud de la línea es de 72 caracteres, Django para limitar a 79 caracteres.

Utilice Flake8 para comprobar la calidad del código.

  • Cada guión 4 espacios

  • Variables, funciones, nombres de método con un guión _, en lugar de camelCase , como deben ser escritos poll.get_unique_voters(), pero en lugar de la escriturapoll.getUniqueVoters()

  • nombre de la clase y devuelve el nombre de la función de fábrica de clase para usar InitiaCaps forma

  • Fácil de usar el estilo tanto como sea posible import, tales como el uso from django.views.generic import View, en lugar de utilizarfrom django.views.generic.base import View

  • En cadena de documentación, utilice la "declaración de acción", tales como:

# 这样使用:
def foo():
    """
    Calculates something and returns the result.
    """
    pass
# 不要这样使用:
def foo():
    """
    Calculate something and return the result.
    """
    pass

estilo de la plantilla

  • Ambos lados de la contenido de la etiqueta y sólo un espacio, tales como {{ foo }}, pero no{{foo}}

Ver estilo

  • La primera función de vista sea requesttal def my_view(request, foo):, en lugar de utilizardef my_view(req, foo):

estilo de modelo de datos

  • nombres de los elementos de datos deben estar en minúsculas, con un guión en lugar camelCase , tales como:
# 正确的风格:
class Person(models.Model):
    first_name = models.CharField(max_length=20)
    last_name = models.CharField(max_length=40)
# 错误的风格:
class Person(models.Model):
    FirstName = models.CharField(max_length=20)
    Last_Name = models.CharField(max_length=40)
  • class Meta Debe ser colocado después de que se define el elemento de datos, separados por una línea en blanco entre, tales como:
# 正确的风格:
class Person(models.Model):
    first_name = models.CharField(max_length=20)
    last_name = models.CharField(max_length=40)

    class Meta:
        verbose_name_plural = 'people'
# 不要这样写:
class Person(models.Model):
    first_name = models.CharField(max_length=20)
    last_name = models.CharField(max_length=40)
    class Meta:
        verbose_name_plural = 'people'
# 也不要这样写
class Person(models.Model):
    class Meta:
        verbose_name_plural = 'people'

    first_name = models.CharField(max_length=20)
    last_name = models.CharField(max_length=40)
  • Si se define la __str__(ex soporte para Python 3 es __unicode__), se debe utilizar en la clase de modelo de datos python_2_unicode_compatible()decorador.

  • orden de disposición dentro de la clase modelo de datos:

    1. las definiciones de elementos de datos
    2. gestor personalizado
    3. class Meta
    4. def __str__()
    5. def save()
    6. def get_absolute_url()
    7. Otro enfoque personalizado
  • choices Debe definirse como una tupla de tuplas, el nombre de la opción debe establecerse en un solo atributo clase de caracteres, ya que es el uso constante de estilo en mayúsculas, como por ejemplo:

class MyModel(models.Model):
    DIRECTION_UP = 'U'
    DIRECTION_DOWN = 'D'
    DIRECTION_CHOICES = (
        (DIRECTION_UP, 'Up'),
        (DIRECTION_DOWN, 'Down'),
    )

uso django.conf.settings

No es de primera módulo de acceso (parte cuando el módulo se ejecuta automáticamente importar) django.conf.settings. proyecto de Django sólo puede llamarse django.conf.settings.configure()función una vez (sólo una vez) para los ajustes que se deben configurar. la configuración es un LazyObjectobjeto que realmente va a llamar cuando el acceso django.config.settings.configure()a los ajustes de configuración.

Si el módulo de nivel superior se accede a ella, se completará automáticamente la django.conf.settings.configure()llamada, por lo que los ajustes de configuración después de la afecta.

otro

  • Todas las cadenas deben ser una marca internacional
  • Con la evolución del código, no quitando import, flake8 sería inútil para importmostrar un mensaje de advertencia si se quiere eliminar, añadir al final de líneas de código# NOQA
  • Extracción del exceso de espacio en blanco fila cola
  • No escriba el nombre del colaborador en el código debe ser escrito en una separada AUTHORSde archivos

Referencias: el estilo de codificación Django

Supongo que te gusta

Origin www.cnblogs.com/haiiiiiyun/p/12558576.html
Recomendado
Clasificación