微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法上传和显示 django 表单

如何解决无法上传和显示 django 表单

1.views.py

from django.shortcuts import render
from . models import User
from .forms import Userform

def Home(request):
    if request.method == "POST":
        form = Userform(request.POST or None,request.FILES or None)
        if form.is_valid():
            form.save()
    else:
        form = Userform()
    return render(request,"home.html",{"form":form})

def read(request):
    read = User.objects.all()
    return render(request,"read.html",{"read":read})

2.models.py

from django.db import models

class User(models.Model):
    name = models.CharField(max_length=12)
    rollno = models.IntegerField()
    # files = models.FileField()

3.form.py

from django import forms
from .models import User

class Userform(forms.ModelForm):
    class Meta:
        model =  User
        fields = ('name','rollno')
    

urls.py

from django.contrib import admin
from django.urls import path
from app import views
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
    path('admin/',admin.site.urls),path("",views.Home,name="Home"),path("read/",views.read,name="read"),]

urlpatterns+=static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)

4.home.html

<!DOCTYPE html>
<html lang="en">
<head>
    <Meta charset="UTF-8">
    <Meta name="viewport" content="width=device-width,initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <form method="POST" action="read/" enctype="multipart/form-data">
        {%csrf_token%}
        {{form}}
    <button type=submit>click to submit</button>
    </form>
</body>
</html>

阅读.html

<!DOCTYPE html>
<html lang="en">
<head>
    <Meta charset="UTF-8">
    <Meta name="viewport" content="width=device-width,initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    {%block containt%}
    {%for i in read%}
    {{i.name}}
    {{i.rollno}}
  
    {%endfor%}
    {%endblock%}
</body>
</html>

我想使用表单向 django admin 添加数据,但数据未在 django admin 上传 无法将数据上传到 django admin 因此无法读取 请帮忙 我想使用表单向 django admin 添加数据,但数据未在 django admin 上传 无法将数据上传到 django admin 因此无法读取 请帮忙

解决方法

问题出在您的表单操作中,您在操作中输入了错误的 URL 您必须使用 home URL 而不是 read/,因为您正在 home 函数中处理表单提交,因此请用此替换表单操作

<form method="POST" action="{% url 'Home' %}" enctype="multipart/form-data">
        {%csrf_token%}
        {{form}}
    <button type=submit>click to submit</button>
    </form>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?