【发布时间】:2012-10-12 19:38:07
【问题描述】:
一直在寻找这个答案……在 Django 中完全是新人,但疯狂地阅读它,虽然还不够……
我想建立一个简单的数据输入系统。 CharField 采用文件名,我在选择框中显示文件中的行,允许删除行。其余的在提交时保存。
model.py
>class Inputmodel(models.Model):
data = models.CharField(max_length=128)
views.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 })
forms.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;'
}
))
这不是一项艰巨的任务,我担心我错过了一种更简单的方法。有什么建议吗?
非常感谢
【问题讨论】:
-
你应该把这个问题发到CodeReview.Stackexchange.com
-
你把这个问题发到那里了吗?请给我发个链接
-
不要忘记在方法/函数等调用中添加“()”。这一点很重要 :)。并查看 python 'with' 语句文档。
标签: django-models django-forms django-views django-1.4