分析d时应为字符串或类字节对象

2024-09-27 23:18:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在开发一个简单的社交网络应用,你可以在墙上张贴。尽管在存储日期时间方面采取了许多不同的方法,但我仍然收到以下错误。然而,在其他应用程序上,同样的数据类型也能正常工作。我已经坚持了两天了。在

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')

Tags: namepydivformaddrequestexceptionforms

热门问题