《Python 入门到实践》Django创建项目中遇到的问题

跟着《python编程:从入门到实践》做第三个项目的时候,出现的问题:

首先Django安装失败,下载一半就失败了,解决方法为:Django安装失败 。换个下载源,很快就下载成功了。使用pip install -i https://pypi.douban.com/simple django成功!
然后使用django-admin.py startproject learning_log .命令无法创建项目,并且没有任何报错,找到了解决方法,虽然不明白原因:Django无法创建项目。在虚拟环境\Scripts 路径里有django-admin.py文件,将它复制到和ll_env文件夹一个目录下,再使用创建项目命令就可以创建成功了!
在创建应用程序时,需要保持前面打开的终端窗口运行着runserver,再打开一个新的终端窗口,切换到manager.py的目录,激活虚拟环境,使用source ll_env/bin/activate命令,提示错误:source不是内部或外部命令。解决方法:在ll_env文件夹里找到activate文件的具体位置,不使用source,直接用具体路径,就可以进入虚拟环境了!即:项目所在文件夹\ll_env\Scripts\activate,回车,成功!
添加一个新模型Entry新模型,再次使用python manage.py makemigrations learning_logs语句迁移数据库时报错:TypeError: init() missing 1 required positional argument :‘on_delete’,按照提示位置加上‘on_delete’参数,就可以成功地迁移数据库了。找到的解决办法是:django数据库迁移报错。
源代码块是:
 

class Entry(models.Model):
    topic = models.ForeignKey(Topic)
    text = models.TextField()
    date_added = models.DateTimeField(auto_now_add=True)

    class Meta:
        verbose_name_plural = 'entries'

    def __str__(self):
        return self.text[:50] + '...'

修改之后:

class Entry(models.Model):
    topic = models.ForeignKey(Topic, on_delete=models.CASCADE)
    text = models.TextField()
    date_added = models.DateTimeField(auto_now_add=True)

    class Meta:
        verbose_name_plural = 'entries'

    def __str__(self):
        return self.text[:50] + '...'

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值