首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在django中用post方法设置外文?

如何在django中用post方法设置外文?
EN

Stack Overflow用户
提问于 2022-11-26 14:49:35
回答 1查看 51关注 0票数 2

models.py

代码语言:javascript
运行
复制
class Courses(models.Model):
     course_name=models.CharField(max_length=50)
     course_price=models.IntegerField()

class Exam(models.Model):
     exam_name=models.CharField(max_length=101)
     course=models.ForeignKey(Courses,on_delete=models.CASCADE,default='python')
     exam_time=models.DateTimeField()

views.py

代码语言:javascript
运行
复制
def Examadd(request):
    mycourses = Courses.objects.all()
    context = {'mycourses': mycourses}
    if request.method == 'POST':
        newexam = request.POST.get('examname')
        course = request.POST.get('courses')
        examtime = request.POST.get('time')
        new = Exam.objects.create(exam_name=newexam,course=course,exam_time=examtime)
        new.save()
        messages.success(request, "Course created successfully")
        return redirect('Courselist')
    return render(request,'addexam.html',context)

addexam.html

代码语言:javascript
运行
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h1>Add New Exam</h1>
    <form method="post">
        {% csrf_token %}
        <label>Examname:</label>
        <input type="text" name="examname">
        <label>Course:</label>
        <select name="courses">
            {% for i in mycourses %}
            <option value={{i.id}}>{{i.course_name}}</option>
            {% endfor %}
        </select>
        <label>Exam time and date:</label>
        <input type="text" name="examtime">
        <button type="submit">Add</button>
    </form>
</body>
</html>

我正在做一个项目学习,我想要一个带有课程的下拉列表,并把它的id传递给考试table.course id是一个外键,我想把这个课程id传递给table.By中的课程列,这段代码是错误的,不能分配“1”:"Exam.course“必须是一个”Exam.course“实例。

EN

回答 1

Stack Overflow用户

发布于 2022-11-26 19:24:46

首先,create()方法不需要调用save()方法,您可以在Exam模型中直接分配课程id,因此视图应该是:

代码语言:javascript
运行
复制
def Examadd(request):
    mycourses = Courses.objects.all()
    context = {'mycourses': mycourses}
    if request.method == 'POST':
        newexam = request.POST.get('examname')
        course = request.POST.get('courses')
        examtime = request.POST.get('time')
        new = Exam.objects.create(exam_name=newexam,course__id=course,exam_time=examtime)
        messages.success(request, "Course created successfully")
        return redirect('Courselist')
    return render(request,'addexam.html',context)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74583150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档