Python 如何使用外键和内联线创建表单
我只是想制作一个轮询应用程序,只想有一个简单的HTML页面,在那里我可以有Python 如何使用外键和内联线创建表单,python,django,django-forms,Python,Django,Django Forms,我只是想制作一个轮询应用程序,只想有一个简单的HTML页面,在那里我可以有poll\u text和3/4choice\u text字段 目前我的模型如下 #models.py class Poll(models.Model): user = models.ForeignKey( settings.AUTH_USER_MODEL, on_delete=models.CASCADE, null = True ) poll_text = models.CharF
poll\u text
和3/4choice\u text
字段
目前我的模型如下
#models.py
class Poll(models.Model):
user = models.ForeignKey(
settings.AUTH_USER_MODEL, on_delete=models.CASCADE, null = True
)
poll_text = models.CharField((""), max_length=250)
pub_date = models.DateTimeField(default=timezone.now)
def __str__(self):
return self.poll_text
class Choice(models.Model):
poll = models.ForeignKey(Poll, on_delete=models.CASCADE, default = '')
choice_text = models.CharField( max_length=200)
no_of_votes = models.IntegerField(default = 0)
def __str__(self):
return self.choice_text
这就是我的forms.py
的样子
#forms.py
from django.forms import ModelForm
from .models import Poll, Choice
class CreatePollForm(ModelForm):
class Meta:
model = Poll
fields = ('poll_text',)
最后,admin.py
,看起来像这样,这在localhost/admin中为我提供了正确的表示,并且在HTML页面中提供了我想要的表示
#admin.py
from django.contrib import admin
from .models import Poll, Choice
from django.contrib.auth.models import User
# Register your models here.
class ChoiceInLine(admin.TabularInline):
model = Choice
extra = 5
class PollAdmin(admin.ModelAdmin):
fieldsets = [(None, {'fields': ('user','poll_text',)})]
inlines = [ChoiceInLine]
请指导我需要做哪些更改,还请建议我如何调整我的模型,以记录用户对此投票的投票记录。您必须创建一个html、URL和视图文件。应该是这样的 index.html
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
{% for i in list%}
{{i.poll}}
{{i.choice_text}}
{% endfor%}
</body>
</html>
url.py
urlpatterns = [
path('admin/', admin.site.urls),
path('',app.views.index,name='index'), #here you should change to the name off your current app
]
我可能会有一些打字错误,但应该是这样。如果你有问题的话,我不确定。我想有一个HTML,它会给你一个字段,添加一个投票的文本和一些选择。这些选择应该与后端的民意测验相联系。因此,你必须做一些研究,你不能要求别人提供完整的代码。如果他们试图帮助你,应该感谢他们帮助了你,而不是为此责备你。祝你的项目玩得愉快,我相信你可以独自解决所有问题。
urlpatterns = [
path('admin/', admin.site.urls),
path('',app.views.index,name='index'), #here you should change to the name off your current app
]