[英]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.