第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Django:在 URL 中發(fā)送表單輸入

Django:在 URL 中發(fā)送表單輸入

茅侃侃 2022-10-25 15:52:55
我是 Django 的新手,正在嘗試創(chuàng)建一個(gè)網(wǎng)絡(luò)應(yīng)用學(xué)生管理系統(tǒng),在該系統(tǒng)中,學(xué)生由管理員添加,學(xué)生可以通過輸入他們的注冊(cè) ID 來編輯他們的詳細(xì)信息。在 models.py 我添加了這個(gè)模型class Student(models.Model):  gender_choices = [('M', 'Male'), ('F', 'Female')]  enrollment_no = models.CharField(max_length=10, primary_key=True, unique=True)  first_name = models.CharField(max_length=50)  last_name = models.CharField(max_length=50)  father_name = models.CharField(max_length=50)  mother_name = models.CharField(max_length=50)  address = models.CharField(max_length=200)  dob = models.DateField('date of birth')  gender = models.CharField(choices=gender_choices,max_length=1,default=None)  def __str__(self):    return (self.first_name +" "+ self.last_name)在 index.html 頁面輸入學(xué)生注冊(cè) ID 的表格是  <form action="{% url 'students:detail' %}" method="post">    <div class="form-group">      <label for="enrollmentid">Enrollment ID: </label>      <input type="text" class="form-control" id="enrollmentid" placeholder="Enter enrollment id">    </div>    <div class="form-group">      <label for="dob">Date of Birth: </label>      <input type="email" class="form-control" id="dob" placeholder="Enter dob (YYYY-MM-DD)">    </div>    <button class="btn btn-primary">Edit Details</button>  </form>現(xiàn)在我想去/students/detail/{enrollment id given by user}路由我如何將輸入傳遞給 url在views.py中我定義了def detail(request, student_id):  try:    student = Student.objects.get(pk=student_id)  except Student.DoesNotExist:    raise Http404("Student do not exist")  return render(request, 'students/detail.html', {'student': student})在 urls.py 我已經(jīng)定義app_name = 'students'urlpatterns = [    path('', views.index, name='index'),    path('detail/<student_id>', views.detail, name='detail')]如果我手動(dòng)輸入http://localhost:8000/students/detail/ABC1235,那么我成功呈現(xiàn)詳細(xì)信息頁面
查看完整描述

1 回答

?
MMMHUHU

TA貢獻(xiàn)1834條經(jīng)驗(yàn) 獲得超8個(gè)贊

您應(yīng)該發(fā)出請(qǐng)求,而不是發(fā)出 POST 請(qǐng)求GET,因?yàn)榇苏?qǐng)求不會(huì)修改數(shù)據(jù)庫中的任何內(nèi)容?,F(xiàn)在,您可以像這樣進(jìn)行實(shí)現(xiàn):


 <form action="{% url 'students:detail' %}" method="GET">

    <div class="form-group">

      <label for="enrollmentid">Enrollment ID: </label>

      <input type="text" class="form-control" name="enrollmentid" placeholder="Enter enrollment id">

    </div>

    <div class="form-group">

      <label for="dob">Date of Birth: </label>

      <input type="text" class="form-control" name="dob" placeholder="Enter dob (YYYY-MM-DD)">

    </div>

    <button class="btn btn-primary">Edit Details</button>

  </form>

然后你可以像這樣更新你的視圖:


def detail(request):

    try:

       student = Student.objects.get(pk=request.GET.get('enrollmentid'), dob=request.GET.get('dob'))

    except Student.DoesNotExist:

      raise Http404("Student do not exist")

    return render(request, 'students/detail.html', {'student': student})

然后在提交表單時(shí),它將重定向到這樣的 url:http://localhost:8000/students/detail/?enrollmentid=123&dob=2020-01-01


查看完整回答
反對(duì) 回復(fù) 2022-10-25
  • 1 回答
  • 0 關(guān)注
  • 121 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)