0

私はここで初めて Django をいじっていますが、予備的なものをセットアップしました。管理ページには、正しく動作しているデータベース機能を備えたカスタム アプリがあります。ただし、リンク テキストは正しくありません (ここでは赤で強調表示されています)。2 番目の「s」なしで「レシピ」とだけ表示する必要があります。なぜこれが起こったのか、それを修正する方法がわかりません。これは、私がすでにチェックしたいくつかの重要なファイルのコードです。

設定.py

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'recipes',
    # Uncomment the next line to enable the admin:
    'django.contrib.admin',
    # Uncomment the next line to enable admin documentation:
    # 'django.contrib.admindocs',
)

models.py

from django.db import models

class Recipes(models.Model):
    name = models.CharField(max_length=100)
    ingredients = models.CharField(max_length=1000)

    def __unicode__(self):
        return self.name + " / " + self.ingredients

admin.py

from recipes.models import Recipes  
from django.contrib import admin

admin.site.register(Recipes)

記録のために、このアプリの私のフォルダーも「レシピ」という名前です。

このリンクを修正するにはどうすればよいですか?

4

2 に答える 2

2

通常の慣例では、単数形の名詞をモデル名として使用します ( .Recipeではなく) Recipes

本当にモデル名として使用したい場合は、 https ://docs.djangoproject.com/en/dev/ref/models/options/# に記載されているように、モデルのクラス のおよび属性Recipesを使用して、表示される名前をカスタマイズできます。詳細名verbose_nameverbose_name_pluralMeta

于 2013-05-14T19:49:06.310 に答える
1

一部のメタ情報が欠落しています。verbose_nameは、デフォルトでモデル名を持ちverbose_name_plural、 はデフォルトで にs追加されますverbose_name。それをオーバーライドする必要があります。

class Recipes(models.Model):
    name = models.CharField(max_length=100)
    ingredients = models.CharField(max_length=1000)

    def __unicode__(self):
        return self.name + " / " + self.ingredients

    class Meta:
        verbose_name = "Recipe"
        verbose_name_plural = "Recipies"
于 2013-05-14T19:50:12.720 に答える