我正在阅读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.
答案 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
您将在管理页面上看到您的模型。 希望这可以帮助。快乐的编码