Python 具有动态域和多关系的Django形式
我是Django的初学者,已经被这个问题困扰了好几个星期了 考虑以下模型Python 具有动态域和多关系的Django形式,python,django,forms,Python,Django,Forms,我是Django的初学者,已经被这个问题困扰了好几个星期了 考虑以下模型 class Post(models.Model): title = models.CharField(max_length=65) author = models.ForeignKey(User) date = models.DateField(auto_now_add=True) content = models.TextField() tags = models.ManyToMa
class Post(models.Model):
title = models.CharField(max_length=65)
author = models.ForeignKey(User)
date = models.DateField(auto_now_add=True)
content = models.TextField()
tags = models.ManyToManyField(Tag)
images = models.ManyToManyField(Image)
def __unicode__(self):
return self.title
我希望用户能够上传照片到与他的模型。我希望能够验证
对于问题1,这是有意义的,因为如果您创建了一个被其他模型引用的模型,那么该模型键必须存在。我建议你做的是调查一下 2非常简单,只需使用jQuery/Javascript根据用户的选择事件在浏览器中显示/隐藏适当的字段 根据您的评论,下面是一个我如何处理与服务器之间的数据的示例
//Submit data to server, assuming you have already extracted out the relevant data values
$("some_button").click(function(e){
$.ajax({
url : "someUURLLocation/",
type : "POST",
data : {"data" : JSON.stringify({"field1" : var1, "field2" :var2}),
dataType : "json",
success : function(results){
if (results.success == "true") {
//handle DOM insertion and other stuff
} else
alert(results.message);
}
});
}
URL.py:
from django.conf.urls import patterns, url
from $APPNAME import views
urlpatterns = patterns("",
...
...
url(r'^someURLLocation/$', views.handleDataSubmission),
...
)
views.py:
from django.http import HttpResponse
from django.utils import simplejson
def handleDataSubmission(request):
data = simplejson.loads(request.POST.get("data", None))
if data is not None:
newPost = Post.objects.create( field1 = data["field1"], field2 = data["field2"])
dataReturn = [{"val1" : newPost.title, "val2" : newPost.date}]
return HttpResponse(simplejson.dumps({"success" : "true", "data" : dataReturn}), mimetype = "application/json")
else:
return HttpResponse(simplejson.dumps({"success" : "false", "message" : "Invalid data received by server"}), mimetype = "application/json")
就像我说的,我知道如何向DOM中添加字段,但不知道如何在view函数中处理字段。谢谢你的示例。我只是想知道我是否也可以使用这种方法提交文件?是的,您可以使用这种方法处理文件上载。但是,我建议您查看jqueryfileupload插件和