我有以下ajax调用来更新模型的特定字段
$("#updateLink").click(function(){
var dec_text = $('#desc_text').val();
$.ajax({
type: "POST",
url:"/users/update_desc/",
data: {
'val': dec_text,
},
success: function(){
$(".display, .edit").toggle();
$("#descText").html(dec_text);
},
error: function(){
alert("Error");
},
});
return false;
});
Run Code Online (Sandbox Code Playgroud)
我的观点是这样的
@csrf_exempt
def update_desc(request):
if request.is_ajax():
if request.method == 'POST':
desc_text = request.POST.get('val', False)
if desc_text:
profile = user.profile
profile.desc = desc_text
profile.save()
return_message = "Sent mail"
return HttpResponse(return_message,mimetype='application/javascript')
Run Code Online (Sandbox Code Playgroud)
我不断收到错误消息,我不知道如何解决这个问题.我甚至使用csrf_exempt装饰器来解决问题,如果问题是由于缺失引起的,csrf token但问题仍然存在.
除了ajax post在我的base模板中所有ajax调用都失败的情况.任何人都可以帮助了解这里发生的事情.如果需要,我可以提供更多细节.
编辑:
我在我的基本模板中添加了一个js包含此https://docs.djangoproject.com/en/dev/ref/contrib/csrf/#ajax的文件,因此这意味着它存在于我的所有模板中.我正在使用django 1.3版本.
我正在制作一个博客应用程序,我想在处理完表单后重定向到另一个不同的URL,但是下面给出的视图不起作用.我既不能使用HttpResponseRedirect也不能简单地重定向
@login_required
def blog_form(request,author_id=None,slug=None):
context_instance=RequestContext(request)
# This view will have a valid creator_id and slug field if the
# blog is being edited and in this case the creator and user should be same
if ( author_id and slug):
author = User.objects.get(pk=author_id)
blog = get_object_or_404(Entry, creator = author, slug = slug)
if blog.creator != request.user:
raise HttpResponseForbidden()
# We set the user and created date and make a new object
else:
blog = Entry(creator=request.user,created_date=datetime.datetime.now() )
if request.method == 'POST':
#if …Run Code Online (Sandbox Code Playgroud) 我试图使用pagedown(降价编辑器),这是我基于django的网站中的stackoverflow.但是要在textarea中获取markdown编辑器,需要将id和class的文本区域赋予
<textarea id="wmd-input" class="wmd-input"/>
Run Code Online (Sandbox Code Playgroud)
但是,django生成的表单字段的默认ID为id_<field-name>.有没有办法可以为这个text_area分配相同的id?
我想要做的是类似于协作编辑器的工作方式.我想允许两个人编辑同一个文档.为此,我必须模拟人造插入符号.我可以在textarea中的指定位置添加和删除其他用户的活动.
然后,我将把位置以及操作传送到另一个文档.在那里,我需要在发送的坐标上执行所需的更改.我已经搜索并找到了足够的方法来设置插入位置并在当前插入位置插入或删除文本,但问题是文档的插入符移动到我进行更改的位置.
我不希望这样,我想要两个插入符号,两个用户各一个.将他们的更改传输到彼此的文档,并在各自的位置进行更改,同时显示两个不同的插入符号.
我只需要知道是否有某些我可以使用的库,或者即使我必须自己创建这些库,那么我该如何以及从何处开始.我甚至不知道如何在浏览器中表示textarea.我如何表征textarea中的位置,如果我知道然后我将位置保存在内存中并根据收到的输入进行更改.
我希望我有意义,谢谢你的帮助.
我正在制作一个博客应用程序,我需要在提交他的博客时给用户多个按钮.我正在检查设置了哪个按钮并尝试相应地执行操作,但它无法正常工作.
这是我的视图部分,我在哪里检查POST数据中设置了哪个按钮但是当我点击发布它工作正常,但如果我点击保存或发布然后我得到错误 属性错误'WSGIRequest'对象没有属性'发布'
@login_required
def blog_form(request,author_id=None,slug=None):
context_instance=RequestContext(request)
# This view will have a valid creator_id and slug field if the
# blog is being edited and in this case the creator and user should be same
if ( author_id and slug):
author = User.objects.get(pk=author_id)
blog = get_object_or_404(Entry, creator = author, slug = slug)
if blog.creator != request.user:
raise HttpResponseForbidden()
# We set the user and created date and make a new object
else:
blog = Entry(creator=request.user,created_date=datetime.datetime.now() )
if request.method == …Run Code Online (Sandbox Code Playgroud) 当我使用allauth时,除了Django现在无法找到静态文件外,一切似乎都能正常工作.没有allauth所有静态文件都被渲染.allauth的设置需要添加
TEMPLATE_CONTEXT_PROCESSORS = (
"allauth.context_processors.allauth",
"allauth.account.context_processors.account"
)
Run Code Online (Sandbox Code Playgroud)
我之前的设置文件中没有TEMPLATE_CONTEXT_PROCESSORS.有什么东西我错过了吗?我该如何解决这个问题.当我看到DEBUG控制台时,我可以看到它正在尝试获取css文件
"GET /accounts/login/css/contact.css"
Run Code Online (Sandbox Code Playgroud)
而它应该这样做
"GET /static/css/contact.css"
Run Code Online (Sandbox Code Playgroud) 我一直在尝试使用django-allauth来提供社交注册,但是我无法为用户配置配置文件.没有django-allauth的文件说明
如果有人在他们的项目中使用allauth并且可以提供一些细节,那么它将非常有用.
我正在使用Github API来获取repo信息.因为有一个参数'size',它不是用github api文档写的,它的确含义是什么.它是以字节为单位提交到存储库的代码行的大小吗?
在这里你可以看到返回的响应中的size参数 http://developer.github.com/v3/repos/
我最近从原始php移植到django并且必须将我的遗留数据库合并到其中.我使用该inspectdb命令从数据库中构建模型,一切正常.
最近,我决定增加的功能like和set to favorite.所以我添加了一个新表,如下所示.
class SongCollection(models.Model):
song_name = models.TextField()
song_type = models.CharField(max_length=765)
likes = models.IntegerField(default=0)
class Meta:
db_table = u'songcollection'
class likeSong(models.Model):
user = models.ForeignKey(User)
company = models.ForeignKey(SongCollection)
Run Code Online (Sandbox Code Playgroud)
第一个是我的原创class,另一个是用于存储哪个用户喜欢哪首歌.我正在使用完全开发的其他应用程序中的确切结构django,它们工作正常.但是当我尝试添加一个对象时,likeSong我得到以下错误.
Cannot add or update a child row: a foreign key constraint fails
Run Code Online (Sandbox Code Playgroud)
我也试图从MySql命令行添加这个对象,以便检查这是否是一个Django错误,但它也失败了.任何人都可以帮我理解这里究竟出了什么问题吗?
django ×7
django-views ×2
jquery ×2
ajax ×1
caret ×1
django-csrf ×1
django-forms ×1
github-api ×1
javascript ×1
markdown ×1
mysql ×1
post ×1
redirect ×1
registration ×1
social ×1
text-editor ×1
textarea ×1
user-profile ×1