我正在寻找一个git钩子,它在Python代码中查找print语句.如果找到print语句,则会阻止git commit.
我想覆盖这个钩子,我被告知有一个命令可以这样做.我找不到它.有什么想法吗?
为了在注册用户后对其进行签名,我手动设置了user.backend属性.它通常适用于我的观点.在这个例子中,我试图通过AJAX注册用户.它引发了一个AttributeError.
这是我的代码:
def register_async(request):
if request.method=='POST':
userform=MyUserCreationForm(request.POST)
if userform.is_valid():
#username of <30 char is required by Django User model. I'm storing username as a hash of user email
user=userform.save(commit=False)
user.username=hash(user.email)
user.backend='django.contrib.auth.backends.ModelBackend'
user.save()
auth.login(request,user)
user_status=1
user_fname=user.first_name
user_data=[{'user_status':user_status, 'user_fname':user_fname}]
json_data=json.dumps(user_data)
response=HttpResponse()
response['Content-Type']="text/javascript"
response.write(json_data)
return response
else:
user_data=[{'user_status':"0"}]
json_data=json.dumps(user_data)
response=HttpResponse()
response['Content-Type']="text/javascript"
response.write(json_data)
return response
else:
return HttpResponse()
Run Code Online (Sandbox Code Playgroud)
编辑 - 这里是AJAX.它看起来很漂亮
//ajax registration.
$('input#register_submit').click(function(event){
$(this).attr('disabled','disabled');
$('<div class="register-animation"><img src="{{site}}media/ajax-loader3.gif"/></div>').appendTo('#register_modal_btn');
$.post("/register/", $('div#register_side form').serialize(),
function(data){
$.each(data,function(){
if(this.user_status==1){
$('.register-animation').remove();
$('.right_section .top').html('<ul><li class="sep_nav">Hi, '+ this.user_fname + '</li><li class="sep+nav"><a href="http://nabshack.com/logout/">Log …Run Code Online (Sandbox Code Playgroud) 我们在Rails应用程序中使用React on Rails.部署时,资产预编译需要大约20分钟.
根据部署日志,似乎大部分时间花在预编译3.3MB javascript文件上.该文件"app.js"连接由webpack生成的两个文件:
# app.js
//= require vendor-bundle (250KB)
//= require app-bundle (3.3MB)
Run Code Online (Sandbox Code Playgroud)
考虑到app-bundle的大小,我们是否应该期待很长的预编译时间?或者,我们能改进吗?
作为补充说明,我们尝试直接编译app-bundle,而不是通过app.js要求它,并且花费了相同的时间.
更新:
我们最终将客户端代码分解为一个单独的create-react-app项目,该项目通过API连接到我们的Rails应用程序.我们的devops和部署管道的复杂性大大降低 - 没有真正深入挖掘这个错误.
基本上,缓存清除文件上的哈希不会更新.
class S3PipelineStorage(PipelineMixin, CachedFilesMixin, S3BotoStorage):
pass
PIPELINE_JS = {
'main.js': {
'output_filename': 'js/main.min.js',
'source_filenames': [
'js/external/underscore.js',
'js/external/backbone-1.0.0.js',
'js/external/bootstrap-2.2.0.min.js',
]
}
}
Run Code Online (Sandbox Code Playgroud)
当我第一次运行该collectstatic命令时,它正确地创建了一个名为""的缓存清除文件main.min.d25bdd71759d.js
但是,当我运行该命令时,它无法在后处理阶段覆盖该缓存文件(并更新哈希).
它不断更新" main.min.js",这main.min.js与我的文件系统是最新的.但是,未创建新的缓存文件.即使底层main.min.js文件已更改,它也会保留相同的旧哈希.
当我手动删除AWS上的缓存文件时,我会从collectstatic详细程度设置为3的运行中收到以下消息:
Post-processed 'js/main.min.js' as 'js/main.min.d25bdd71759d.js
Run Code Online (Sandbox Code Playgroud)
settings.DEBUG 被设置为 False
为什么哈希不会更新?
我想在select小部件中将字段限制为值0-10.
field=models.IntegerField(max_length=10, choices=CHOICES)
Run Code Online (Sandbox Code Playgroud)
我可以写出从(0,0),(1,1)开始的所有选择元组,但必须有一个明显的方法来处理它.
非常感谢帮助.
我在一个名为email的应用程序中有一个功能,我想要分析.当我尝试做这样的事情时,它会爆炸
from django.core.management import BaseCommand
import cProfile
class Command(BaseCommand):
def handle(self, *args, **options):
from email.modname import send_email
cProfile.run('send_email(user_id=1, city_id=4)')
Run Code Online (Sandbox Code Playgroud)
当我运行此管理命令时,它会引发以下错误:
exec cmd in globals, locals
File "<string>", line 1, in <module>
NameError: name 'send_email' is not defined
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么?cProfile如何评估字符串(在全局/本地名称空间中查找函数名称)?
我的分页模块大部分都在工作,但是有一个问题.我怎样才能显示总可用页面的一部分.例如,假设我在n页的第5页上,我想展示.
1,2,3,4,5,6 ....(N-1)(N).
我相信Ruby有一些花哨的前端魔术来实现这一目标.在django模块中我能做些什么吗?
从其他网站看,似乎逻辑基本上是,选择固定数量的点.如果该数字大于当前显示的数量,请在用户向前翻页时添加项目.达到该点数后,仅在当前页面的左侧和右侧显示x个点.
我应该编写自己的模板逻辑来实现这一目标吗?
谢谢
我遇到了一个似乎可能与djangocode相关的线程,但它并没有真正帮助.我正在尝试保存一个模型,它正在抛出异常.我认为这可能与我的模型中两次引用相同的外键有关.它也可能与其中一个外键字段中unique = True的定义有关.我不知道
class User_Message(models.Model):
recipient=models.ForeignKey(User, unique=True, related_name="recipients")
subject=models.CharField(max_length=100)
sender=models.ForeignKey(User, related_name="senders")
message=models.TextField(max_length=500)
sent=models.DateField(auto_now_add=True)
def __unicode__(self):
return self.subject
if request.method=="POST" and request.POST['id_message']:
messageform=User_MessageForm(request.POST)
recipient=[] #receiver of mail must be a list
recipient.append(post.user)
if messageform.is_valid:
message=messageform.save(commit=False)
message.sender=user
message.recipient=post.user
return HttpResponse('%s %s' %(user,post.user))
message.save()
#send the email
subject=messageform.cleaned_data['id_subject']
body=messageform.cleaned_data['id_message']
try:
send_mail(subject, body, sender, recipient)
except BadHeaderError:
return HttpResponse('Invalid header found.')
Run Code Online (Sandbox Code Playgroud)
它失败了,"messageform.save(commit = False).我认为这个陈述是失败证明.
modelform接收的POST数据包含主题和消息字段.我的模型成功验证了此数据.
是相关名称,唯一=真......什么给出?
谢谢
在单个Django管理模型中,是否可以聚合来自相关对象的字段.
例如,我有一个学生对象,它具有一个测试对象的FK.测试对象具有"得分"字段.
我可以在所有学生考试中汇总分数并将其放在admin display_list属性中吗?
我想更深入地了解Django的内部结构,官方的在线文档只是朝这个方向发展.
对Marty Alchin的Pro Django的评论非常棒(我读过Pro Python并且非常喜欢它).但是,这本书是从2008年开始的,基于Django v1.0.我的公司建立了v1.3.
这本书还值得吗?我怎样才能最好地了解Django的元编程(除了查看源代码,我也在做)?
谢谢
django ×7
python ×3
caching ×1
cprofile ×1
django-admin ×1
django-forms ×1
git ×1
git-commit ×1
githooks ×1
profiling ×1
reactjs ×1
webpack ×1