Django 中正确的命名约定
proper naming convention in Django
我正在使用 Django 1.11 并在其上创建了一个应用程序 country
并且在 country/models.py
中我有一个模型 Country
.
class Country(models.Model):
name = models.CharField(max_length=100)
code = models.CharField(max_length=50)
pub_date = models.DateTimeField('date published')
并将模型包含在 admin.py
中
from django.contrib import admin
from country.models import Country
# Register your models here.
admin.site.register(Country)
当我访问http://127.0.0.1:8000/admin
时,它显示
country
的拼写被复数化为 Countrys
是错误的。
防止此类错误的正确命名约定是什么?
不是拼写错误,是django convention
说明会有很多条记录,说明最后在Model Name后面加了一个s
。
第一部分 : Countrys
是你的模型名称,你可以设置verbosename来定义它。
class Country(models.Model):
name = models.CharField(max_length=100)
code = models.CharField(max_length=50)
pub_date = models.DateTimeField('date published')
class Meta:
verbose_name = "country"
verbose_name_plural = "countries"
第二部分: COUNTRY
是你的应用名称,在Django 11.1中,你可以在apps.py
中设置应用名称
# in yourapp/apps.py
from django.apps import AppConfig
class YourAppConfig(AppConfig):
name = 'yourapp'
verbose_name = 'Fancy Title'
我正在使用 Django 1.11 并在其上创建了一个应用程序 country
并且在 country/models.py
中我有一个模型 Country
.
class Country(models.Model):
name = models.CharField(max_length=100)
code = models.CharField(max_length=50)
pub_date = models.DateTimeField('date published')
并将模型包含在 admin.py
from django.contrib import admin
from country.models import Country
# Register your models here.
admin.site.register(Country)
当我访问http://127.0.0.1:8000/admin
时,它显示
country
的拼写被复数化为 Countrys
是错误的。
防止此类错误的正确命名约定是什么?
不是拼写错误,是django convention
说明会有很多条记录,说明最后在Model Name后面加了一个s
。
第一部分 : Countrys
是你的模型名称,你可以设置verbosename来定义它。
class Country(models.Model):
name = models.CharField(max_length=100)
code = models.CharField(max_length=50)
pub_date = models.DateTimeField('date published')
class Meta:
verbose_name = "country"
verbose_name_plural = "countries"
第二部分: COUNTRY
是你的应用名称,在Django 11.1中,你可以在apps.py
# in yourapp/apps.py
from django.apps import AppConfig
class YourAppConfig(AppConfig):
name = 'yourapp'
verbose_name = 'Fancy Title'