簡體   English   中英

無法使用Django發布特定xml格式的表單數據

[英]Can not post form data in a specific xml format using Django

我需要一個幫助。 我需要使用Django將所有數據保存為特定的xml格式。 我在下面解釋我的代碼。

bmr.html:

<form method="post" action=" ">
    {% csrf_token %}
    <label>location name: </label>
    <input name="lname">
    <br>
    <label>Room name: </label>
    <input name="rname">
    <br>
    <label>No of Seats: </label>
    <input type="number" name="seat">
    <br>
    <label>Projector Screen</label>
    <select name="projector">
      <option value="Yes">Yes</option>
      <option value="No">No</option>
    </select>
    <br>
    <label>Video conference</label>
    <select name="video">
      <option value="Yes">Yes</option>
      <option value="No">No</option>
    </select>
    <br>
    <input type="submit" value="Submit">
</form>

views.py:

from __future__ import unicode_literals
from django.shortcuts import render, redirect
from django.contrib.auth import get_user_model, login, logout
from django.contrib.auth.decorators import login_required
from django.views import View
from django.contrib.auth.forms import (UserCreationForm, AuthenticationForm)
import xml.etree.cElementTree as ET
def bmr(request):
    root = ET.Element("roomlist")
    ET.SubElement(roomlist, "location name", name="blah").text = "some value1"
    doc = ET.SubElement(root, "location")
    return render(request,'booking/bmr.html',{})

在這里,我需要用戶單擊submit按鈕時,帖子數據將保存為以下xml格式。 我在下面解釋我的格式。

<roomlist>
  <location name="Bangalore">
    <room id="1uy92j908u092">
      <roomname> Aquarius </roomname>
      <noseats> 10 </noseats>
      <projectorscreen>yes</projectorscreen>
      <videoconf>yes</videoconf>
    </room>
  </location>
  <location name="Sydney">
    <room id="324det56yuygttrgr">
      <roomname> Capricorn </roomname>
      <noseats> 5 </noseats>
      <projectorscreen>no</projectorscreen>
      <videoconf>yes</videoconf>
    </room>
  </location>
</roomlist>

保存到xml文件后,它還應該以表格結構形式顯示在表單的下面。 請幫我。

在您的模板中

<form method="post" action="{% url 'for_the_view' %}">

在你看來

def bmr(request):
    location_name = request.POST.get('lname') //same for other fields
    root = ET.Element("roomlist")
    ET.SubElement(roomlist, "location name", name="blah").text = location_name // sane for other fields
    tree = ET.ElementTree(root)
    tree.write("filename.xml")
    return render(request,'booking/bmr.html',{})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM