Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在/home/create/(1048,“列”和“国家/地区id”不能为空)_Python_Django_Django 2.x - Fatal编程技术网

Python 在/home/create/(1048,“列”和“国家/地区id”不能为空)

Python 在/home/create/(1048,“列”和“国家/地区id”不能为空),python,django,django-2.x,Python,Django,Django 2.x,我试图使用Django 2.7直接在网页上创建新闻,但在/home/create/(1048,“country_id”列不能为空)添加类别和国家/地区IntegrityError时遇到问题 这是我的密码: home/models.py class Category(models.Model): name = models.CharField(max_length=255) def __str__(self): return self.name class

我试图使用Django 2.7直接在网页上创建新闻,但在/home/create/(1048,“country_id”列不能为空)添加类别和国家/地区IntegrityError时遇到问题 这是我的密码: home/models.py

class Category(models.Model):

    name = models.CharField(max_length=255)

    def __str__(self):
        return self.name


class Country(models.Model):

    name = models.CharField(max_length=255)

    def __str__(self):
        return self.name


class News(models.Model):

    pub_date = models.DateTimeField('Date: ')
    article = models.CharField(max_length=200)
    content = models.TextField(default="")
    country = models.ForeignKey(Country, on_delete=models.CASCADE)
    likes = models.IntegerField(default=0)
    category = models.ForeignKey(Category, on_delete=models.CASCADE)

    def __str__(self):
        return self.article

    def was_published_recently(self):
        return self.pub_date >= timezone.now() - datetime.timedelta(days=1)
home/views.py

def create(request):

    if request.method == "POST":
        adding = News()
        adding.likes = 0
        adding.pub_date = timezone.now()
        adding.article = request.POST.get("Article")
        adding.content = request.POST.get("Content")
        adding.category = request.POST.get("Category")
        adding.country = request.POST.get("Country")
        adding.save()

    return HttpResponseRedirect("/home/")
home/url.py

from django.urls import path

from . import views

app_name = 'home'
urlpatterns = [
    path('', views.index, name='index'),
    path('<int:news_id>/', views.detail, name='detail'),
    path('create/', views.create),
    path('<int:news_id>/delete/', views.delete_news, name='delete'),

]
从django.url导入路径
从…起导入视图
应用程序名称='主页'
URL模式=[
路径(“”,views.index,name='index'),
路径(“/”,views.detail,name='detail'),
路径('create/',views.create),
路径('/delete/',views.delete_news,name='delete'),
]
index.html(我从主页添加帖子)


{%csrf_令牌%}

文章

内容

类别
{%if类别%} {%类别中的el为%} {{el.name}} {%endfor%} {%endif%}

国家
{%if国家%} {国家/地区的el百分比%} {{el.name}} {%endfor%} {%endif%}


您可以在
标记中指定
输入元素的名称,而不是在
标记中指定。因此,您应将表格填写为:

<select name="Country">
    {% if countries %}
        {% for el in countries %}
            <option>{{ el.name }}</option>
        {% endfor %}
    {% endif %}
</select>

{%if国家%}
{国家/地区的el百分比%}
{{el.name}}
{%endfor%}
{%endif%}

话虽如此,我强烈建议你与我合作。它们封装了逻辑,减少了出错的可能性,并删除了大量样板代码。

您可以在
标记中指定
输入元素的名称,而不是在
标记中指定。因此,您应将表格填写为:

<select name="Country">
    {% if countries %}
        {% for el in countries %}
            <option>{{ el.name }}</option>
        {% endfor %}
    {% endif %}
</select>

{%if国家%}
{国家/地区的el百分比%}
{{el.name}}
{%endfor%}
{%endif%}
话虽如此,我强烈建议你与我合作。它们封装了逻辑,减少了出错的可能性,并删除了大量样板代码。

它应该是
,而不是
中的。它应该是
,而不是
中的。