无法在Django上验证我的应用程序

时间:2016-03-17 08:31:02

标签: python django validation

我正在阅读Django文档,并使用以下命令创建了我的第一个应用程序:

python manage.py startapp books

并修改了本书中提到的models.py文件。

from django.db import models

class Publisher(models.Model):
   name = models.CharField(max_length=30)
   address = models.CharField(max_length=50)
   city = models.CharField(max_length=60)
   state_province = models.CharField(max_length=30)
   country = models.CharField(max_length=50)
   website = models.URLField()

class Author(models.Model):
   first_name = models.CharField(max_length=30)
   last_name = models.CharField(max_length=40)
   email = models.EmailField()

class Book(models.Model):
   title = models.CharField(max_length=100)
   authors = models.ManyToManyField(Author)
   publisher = models.ForeignKey(Publisher)
   publication_date = models.DateField()

然后我将这个新创建的应用程序“books”添加到settings.py文件中的INSTALLED_APPS列表中。最初我将'mysite.books'添加到列表中,python manage.py validate返回以下错误:

Error: No module named books.

我提到了stackoverflow Creating my first app as described on DjangoBook中的一个问题,并尝试通过将'mysite.books'更改为'books'来实现解决方案。现在,当我运行python manage.py validate时,我得到以下输出:

Unknown command: 'validate'
Type 'manage.py help' for usage.

1 个答案:

答案 0 :(得分:0)

你不应该使用'mysite.blablabla'在您安装的应用上。仅使用'书籍

INSTALLED_APPS = (#'mysite.books',
                   'books')

然后在您的推荐行上输入:

python manage.py makemigrations
python manage.py migrate

它将在您的数据库上创建您的模型表。

在您的admin.py中

from django.contrib import admin
from .models import Publisher, Author, Book
admin.site.register(Publisher)
admin.site.register(Author)
admin.site.register(Book)

在命令行输入,它将帮助您创建管理员帐户:

python manage.py createsuperuser

然后在命令行填写超级用户信息类型

python manage.py runserver

最后浏览您的浏览器并登录:http://127.0.0.1:8000/admin

您将在管理页面上看到您的模型。 希望这可以帮助。快乐的编码