2017-06-15 9 views
0

私は助けが必要です。 Djangoを使用してすべてのデータを特定のxml形式で保存する必要があります。私は以下のコードを説明しています。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:ここでは、ユーザがポストデータがに保存されますsubmitボタンをクリックしますときに私が必要

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',{}) 

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ファイルに保存した後は、テーブル構造のフォームの下の部分にも表示する必要があります。私を助けてください。あなたの意見では、あなたのテンプレートで

答えて

1

<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',{}) 
+0

私はここにいくつかのエラーを取得しています。 ypeError 'のように/ BMR/ なし(タイプNoneType) リクエストメソッドをシリアル化することはできません。\t http://127.0.0.1:8000/bmr/ Djangoのバージョン:\t 1.11.2 例外タイプ\t リクエストURLを取得します。 \tはTypeError 例外値:_raise_serialization_errorで\t /usr/lib/python2.7/xml/etree/ElementTree.py、ライン1052 Pythonの実行:\tは/ usr/binに\t なし(タイプNoneType) 例外場所をシリアル化することができません/ python Pythonバージョン:\t 2.7.6' – subhra

+0

実際に私はpost vaも印刷していますルー – subhra

+0

しかし、同じエラーが発生しています。 – subhra

関連する問題