一直在寻找这个答案的日子......在 Django 是全新的,但疯狂地阅读它,虽然还不够......
我想建立一个简单的数据输入系统。CharField 采用文件名,我在选择框中显示文件中的行,允许删除行。其余的在提交时保存。
模型.py
class Inputmodel(models.Model):
data = models.CharField(max_length=128)
视图.py
from forms import InputForm
from proj.models import Inputmodel
def ipdb_input_add(request):
if request.method == 'GET':
form = InputForm(request.GET)
if form.is_valid():
dlist = []
if 'filename' in request.GET and request.GET['filename']:
filename = request.GET['filename']
listp = open(filename, 'r').read
with open(filename, 'rt') as f:
myfile = File(f)
for line in myfile:
dlist.append(line)
myfile.close
for d in dlist:
item = Inputmodel(data=d)
item.save
return render_to_response('base.html', { 'form': form })
表格.py
from django import forms
from ip_db.models import Inputmodel
class InputForm(forms.Form):
filename = forms.CharField(max_length=128)
box = forms.MultipleChoiceField(
required=False,
choices=Inputmodel.objects.all().values_list('id', 'ipaddr'),
widget=forms.SelectMultiple(attrs={
'style':'width:200px;height:300px;'
}
))
这不是一项艰巨的任务,我担心我错过了一种更简单的方法。有什么建议吗?
非常感谢