我正在开发一个简单的社交网络应用,你可以在墙上张贴。尽管在存储日期时间方面采取了许多不同的方法,但我仍然收到以下错误。然而,在其他应用程序上,同样的数据类型也能正常工作。我已经坚持了两天了。在
TypeError at /wallpost/add_wallpost/
expected string or bytes-like object
Request Method: POST
Request URL: http://localhost:8000/wallpost/add_wallpost/
Django Version: 2.0.2
Exception Type: TypeError
Exception Value:
expected string or bytes-like object
Exception Location: C:\Users\Rhonald.Rose\AppData\Local\Continuum\anaconda3\envs\mydjangoenv\lib\site-packages\django\utils\dateparse.py in parse_datetime, line 107
Python Executable: C:\Users\Rhonald.Rose\AppData\Local\Continuum\anaconda3\envs\mydjangoenv\python.exe
Python Version: 3.6.5
我的模型.py在
^{pr2}$我的模板(HTML):
<div class="form-group">
<div class="card">
<div class="card-header">
Make a post
</div>
<div class="card-body">
<form method="POST" action="add_wallpost/">
{% csrf_token %}
<div class="row">
<div class="col-sm-8">
{{form.content}}
</div>
</div>
<br>
<div class="row">
<div class="col-sm-10">
<span class='sel1'>Privacy: </span>
{{form.privacy}}
</div>
<div class="col">
<input type="submit" class="btn btn-primary" name="addpost" value="Post">
</div>
</div>
</form>
</div>
</div>
</div>
我的网址.py在
urlpatterns = [
url(r'^$',views.WallpostListView.as_view(), name='all'),
url(r'^add_wallpost/$',views.add_wallpost, name='add_wallpost'),
]
我的表单.py在
class WallpostForm(forms.ModelForm):
priv_list = [
(1,"All"),
(2,"Only Signed In"),
(3,"Only Followers"),
(4,"Only Mutual Followers"),
(5,"Only Explicitly Included"),
]
privacy = forms.ChoiceField(choices=priv_list)
class Meta():
model = Wallpost
fields = ("content","privacy")
widgets = {
'content':forms.TextInput(attrs={'class':'form-control'}),
'privacy':forms.Select(attrs={'class':'form-control'}),
}
我的视图.py在
class WallpostListView(FormMixin, ListView):
model = WallpostRecipients
form_class = WallpostForm
template_name = 'wall.html'
def get_queryset(self):
return WallpostRecipients.objects.filter(
recipient_id = self.request.user.pk,
is_deleted = False
)
def add_wallpost(request):
if request.method == "POST":
print("inside add_wallpost with request.method == POST")
form = WallpostForm(request.POST)
if form.is_valid():
print ("form.is_valid succeeded!")
content = form.cleaned_data.get('content')
privacy = form.cleaned_data.get('privacy')
mrec = Wallpost()
mrec.content = content
#mrec.date_created = timezone.now
mrec.author = request.user
mrec.privacy = privacy
print (mrec.date_created)
try:
mrec.save()
print("saved successfully...")
except Exception as e:
print(e)
raise (e)
else:
for error in form.errors:
print(error)
return redirect('wallpost:all')
目前没有回答
相关问题 更多 >
编程相关推荐