请提前原谅我 - 我知道有一些问题 - 但我真的没有找到解决方案。
我在Django上工作,我希望填充一个由我制作的模型创建的Postgresql表。
我还创建了我的表单,我的html页面(模板)和我的视图。我没有错误消息,但没有在数据库中创建任何内容。
这是我的model.py
class ModForm1(models.Model) :
utilisateur = models.CharField(max_length=100)
description = models.CharField(max_length=500)
date = models.DateTimeField(auto_now_add=True, auto_now=False,
verbose_name="Date de parution")
def __unicode__(self):
return "{0} {1} {2} {3} ".format(self, self.utilisateur, self.description, self.date)
这是我的form.py
class ModForm1Form(ModelForm):
class Meta:
model = ModForm1
fields = '__all__'
这是我的模板:
<div class="container">
<div style="width:30%">
<form role="form" action="." method="post">
<div class="col-xs-12">
<legend><i class="icon-group"></i> Authentification</legend>
{% csrf_token %}
<div class="form-group">
<label for="example-text-input">Utilisateur</label> {{ form.utilisateur }}
</div>
<div class="form-group">
<label for="example-text-input">Description</label> {{ form.description }}
</div>
<input class="btn btn-primary" type="submit" value="submit" />
</form>
</div>
</div>
这是我的views.py
def addentry(request):
form = ModForm1Form(request.POST)
# if this is a POST request we need to process the form data
if request.method == 'POST':
if form.is_valid():
# process the data in form.cleaned_data as required
# ...
# redirect to a new URL:
form.save()
return HttpResponseRedirect('.')
#messages.error(request, "Error")
# if a GET (or any other method) we'll create a blank form
else:
messages.error(request, "Error")
return render(request, 'addentry.html', {'form': form})
我几乎阅读了StackOverflow中的所有问题,但我真的被卡住了。我真的没有找到为什么没有写入我的数据库 你能看一眼并帮我吗?
谢谢! 于连
编辑 - 设置中的数据库配置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'django',
# The following settings are not used with sqlite3:
'USER': 'julien',
'PASSWORD': '***',
'HOST': 'localhost', # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
'PORT': '5432',
}
}
答案 0 :(得分:0)
你想使用mysql数据库,但在settings.py
你设置'ENGINE': 'django.db.backends.postgresql_psycopg2'
这个设置适用于PostgreSQL而不是MySQL。您必须将此字符串更改为以下内容:
'ENGINE': 'django.db.backends.mysql'
。
希望这是有帮助的。