這是我的代碼:Django的:無效字面對於int()與底座10: '編號'
** urls.py:**
from django.conf.urls import url, include
from base_app import views
from django.contrib.auth import views as auth_views
app_name = 'base_app'
urlpatterns = [
url(r'^forms/$', views.form, name='form'),
url(r'^tables/$', views.table, name='table'),
url(r'^register/', views.register, name='register'),
url(r'^login/$', views.user_login, name='login'),
url(r'^logout/$', views.user_logout, name='logout'),# line added
]
** views.py:**
def form(request):
registered = False
if request.method == 'POST':
user_form = FormName(data=request.POST)
if user_form.is_valid():
user = user_form.save()
user.save()
registered = True
else:
print(user_form.errors)
else:
user_form = FormName()
return render(request, 'base_app/form-samples.html', {'user_form':user_form, 'registered':registered})
return render(request, 'base_app/form-samples.html')
** models.py:**
class InfoForm(models.Model):
username = models.CharField(max_length=256, default='username')
email = models.EmailField(max_length=256, default='email')
number = models.PositiveIntegerField(max_length=256, null=True)
def __str__(self):
return self.user.username
** forms.py:**
class FormName(forms.ModelForm):
class Meta:
model = InfoForm
fields = ('username', 'email', 'number')
後,當我運行,python manage.py migrate
我得到這個消息 - >ValueError: invalid literal for int() with base 10:
「number'`
問題出在哪裏?
如果錯誤在遷移中,您應該顯示遷移,而不是不相關的窗體,視圖和URL。 –
我可以幫助顯示堆棧跟蹤的一些行,以查看錯誤發生的位置。 –
我不確定這是否相關,但我不認爲Django會在'''EmailField''上設置'''default ='email''',因爲這在技術上並不有效 – tdsymonds