Python Django-创建表单在live server上不起作用

Python Django-创建表单在live server上不起作用,python,django,forms,nginx,uwsgi,Python,Django,Forms,Nginx,Uwsgi,我有一个名为CreateTournamentForm的表单,它应该在系统中创建新的锦标赛。当我在localhost中工作时,一切正常,没有错误。但是,当我在放置此应用程序的服务器上执行相同操作时,同一表单与localhost上的表单不一样。页面正在刷新,如果不正确,我将得到与我在代码中创建的表单相同的表单。服务器保持在Ubuntu nginx+uwsgi上 下面是我的代码示例: a template.html: c.py表格: d views.py: @login_required def cr

我有一个名为CreateTournamentForm的表单,它应该在系统中创建新的锦标赛。当我在localhost中工作时,一切正常,没有错误。但是,当我在放置此应用程序的服务器上执行相同操作时,同一表单与localhost上的表单不一样。页面正在刷新,如果不正确,我将得到与我在代码中创建的表单相同的表单。服务器保持在Ubuntu nginx+uwsgi上

下面是我的代码示例:

a template.html:

c.py表格:

d views.py:

@login_required
def createTournament(request):
template = loader.get_template('createtournament.html')

if request.method == 'POST':
    form = CreateTournamentForm(request.POST, request.FILES)

    if form.is_valid():
        user = User.objects.get(user=request.user)

        tournament = Tournament(
            name=form.cleaned_data.get("name"),
            start=form.cleaned_data.get("start"),
            end=form.cleaned_data.get("end"),
            username=user,
            type=form.cleaned_data.get("type"),
            file=request.FILES.get("file"),
            description=form.cleaned_data.get("description")
        )
        tournament.save()

        Manager.objects.create(user_id=user, tournament=tournament)

        return redirect('/user/')
else:
    form = CreateTournamentForm()

return render_to_response('createtournament.html', RequestContext(request, {'form': form, }))

有人看到错误了吗?或者可能还有另一个问题?感谢您的回复:

假设我在这里看到的格式问题是由于复制粘贴等原因造成的。。我看到您在没有登录\u所需的装饰程序的情况下执行User.objects.getuser=request.User,或者检查用户是否确实已登录-您确定已登录吗?还有一个小提示-最好使用render而不是HttpResponseHmm。。。如果需要@login\u,您可能是对的。我只是觉得这不是真的需要。我还要用render检查一下。谢谢@karthikr:它不起作用:/@MaciejJanuszewski,快速看一眼,你正在用username=user分配你的比赛,而你的经理试图创建user\u id=user,这听起来不正确。@Anzel,好的-注意:但是我的管理器模型看起来是:类Managermodels.model:user\u id=models.ForeignKeyUser-tourbank=models.foreignkeytourbank
class Tournament(models.Model):
name = models.CharField(max_length=50)
start = models.DateField()
end = models.DateField()
username = models.ForeignKey(User, null=True)

KYOKUSHIN = 'KYO'
SHOTOKAN = 'SHO'
TYPE_CHOICES = (
    (KYOKUSHIN, 'kyokushin'),
    (SHOTOKAN, 'shotokan')
)
type = models.CharField(max_length=3,
                        choices=TYPE_CHOICES,
                        default=None,
                        null=True)
coaches = models.ManyToManyField(Coach, verbose_name="Lista trenerow", blank=True)
file = models.FileField(upload_to=file, verbose_name="Nazwa pliku")
description = models.TextField(max_length=500)

@property
def relative_path(self):
    return os.path.relpath(self.path, settings.MEDIA_ROOT)

def __unicode__(self):
    return unicode(self.name + " " + self.start.strftime('%Y-%m-%d') + " " + self.end.strftime('%Y-%m-%d'))
class CreateTournamentForm(forms.ModelForm):
class Meta:
    model = Tournament
    fields = ('name', 'start', 'end', 'type', 'file', 'description', )
    widgets = {
        'start': forms.DateInput(format=('%d/%m/%Y'), attrs={'class': 'datepicker'}),
        'end': forms.DateInput(format=('%d/%m/%Y'), attrs={'class': 'datepicker'})
    }
@login_required
def createTournament(request):
template = loader.get_template('createtournament.html')

if request.method == 'POST':
    form = CreateTournamentForm(request.POST, request.FILES)

    if form.is_valid():
        user = User.objects.get(user=request.user)

        tournament = Tournament(
            name=form.cleaned_data.get("name"),
            start=form.cleaned_data.get("start"),
            end=form.cleaned_data.get("end"),
            username=user,
            type=form.cleaned_data.get("type"),
            file=request.FILES.get("file"),
            description=form.cleaned_data.get("description")
        )
        tournament.save()

        Manager.objects.create(user_id=user, tournament=tournament)

        return redirect('/user/')
else:
    form = CreateTournamentForm()

return render_to_response('createtournament.html', RequestContext(request, {'form': form, }))