执行Heroku数据库迁移时遇ImportError:无法从socket导入fromshare
解决Heroku执行migrate时的ImportError问题
问题原因
你执行Heroku run python manage.py migrate时触发的ImportError: cannot import name 'fromshare' from 'socket',根源是/app/coreapp/forms.py第一行存在错误导入语句from socket import fromshare:
- Python的
socket模块中不存在fromshare这个属性 - 你的表单代码逻辑完全不需要这个导入,属于手误导致的无效代码
解决步骤
- 打开项目中的
coreapp/forms.py文件 - 删除第一行的
from socket import fromshare语句 - 保存文件后,重新执行
Heroku run python manage.py migrate命令
正确的forms.py代码示例
from django import forms from django.contrib.auth.models import User from coreapp.models import Restaurant from django.db import models class UserForm(forms.ModelForm): email = forms.CharField(max_length=100, required=True) password = forms.CharField(widget=forms.PasswordInput()) class Meta: model = User fields = ("username", "password", "first_name", "last_name", "email") class RestaurantForm(forms.ModelForm): class Meta: model = Restaurant fields = ("name", "phone", "address", "logo")
内容的提问来源于stack exchange,提问作者mick
相关产品推荐
相关产品推荐

