我对Django很熟悉,但最近注意到on_delete=models.CASCADE模型中存在一个选项,我搜索了相同的文档,但找不到更多:
在Django 1.9中更改:
on_delete现在可以用作第二个位置参数(以前它通常只作为关键字参数传递).它将是Django 2.0中的必需参数.
from django.db import models
class Car(models.Model):
manufacturer = models.ForeignKey(
'Manufacturer',
on_delete=models.CASCADE,
)
# ...
class Manufacturer(models.Model):
# ...
pass
Run Code Online (Sandbox Code Playgroud)
on_delete做什么?(我想如果删除模型需要完成的操作)
怎么models.CASCADE办?(文档中的任何提示)
还有哪些其他选择(如果我的猜测是正确的)?
这个文档在哪里?
经历过
但答案无法解决我的问题,所以再问一遍.
我有一个应用程序添加到设置中的INSTALLED_APPS.
我什么时候跑manage.py runserver,我得到这个警告,
[trimmed path to project]/catalog/models.py:9: RemovedInDjango19Warning: Model class catalog.models.Category doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
class Category(models.Model):
Run Code Online (Sandbox Code Playgroud)
我的应用程序的代码,
signals.py
from django.db.models.signals import post_save
from django.dispatch import receiver
from models import Category
@receiver(post_save, sender=Category)
def someSignal(sender, **kwargs):
pass
Run Code Online (Sandbox Code Playgroud)
apps.py
from django.apps import AppConfig
class CatalogConfig(AppConfig):
name = 'catalog' …Run Code Online (Sandbox Code Playgroud) python django django-signals django-apps deprecation-warning
我开始使用pytest.我已经配置了pytest,无论如何我都找不到使用pytest进行Django特定测试的资源.如何测试模型pytest_django?
我已经问了一个关于单元测试的问题,
我想知道如何使用py.test编写相同的测试?
在模型下面添加以及在unittest中编写的测试.
被测模型是,
class User(AbstractBaseUser, PermissionsMixin):
username = models.CharField(max_length=25, unique=True, error_messages={
'unique': 'The username is taken'
})
first_name = models.CharField(max_length=60, blank=True, null=True)
last_name = models.CharField(max_length=60, blank=True, null=True)
email = models.EmailField(unique=True, db_index=True, error_messages={
'unique': 'This email id is already registered!'
})
is_active = models.BooleanField(default=True)
is_staff = models.BooleanField(default=False)
date_joined = models.DateTimeField(auto_now_add=True)
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['username',]
objects = UserManager()
def get_full_name(self):
return ' '.join([self.first_name, self.last_name])
def get_short_name(self):
return self.email
def __unicode__(self):
return self.username
Run Code Online (Sandbox Code Playgroud)
和unittest书面的, …
我想建立一个网站,并将能够创建单元格并在其中运行 python 代码的 jupyter 笔记本功能嵌入到我的网站中
为了创建一个网站,我使用 Django,我想嵌入 google collab 或 jupyter 笔记本
顺便说一句,我已经进行了足够的研究,并且一直被 StackOverflow 链接所困扰,其中没有关于此问题的答案或他们想要在 jupyter 笔记本中使用 django 的答案
预先感谢你们可以提供的任何指导或任何参考。
我实现了一个简单的BehaviorSubject,
import {BehaviorSubject} from "rxjs";
class MyWeirdoClass {
constructor() {}
private st: Subject<boolean> = new BehaviorSubject<boolean>(null);
changeSt(val:boolean){
this.st.next(val);
}
val(){
this.st.subscribe(res=>{
if (res){
console.log(res);
}
})
}
stStatus() {
this.val();
this.changeSt(true);
this.val();
this.changeSt(false);
this.val();
}
}
Run Code Online (Sandbox Code Playgroud)
现在运行时stStatus()会在控制台上记录以下输出.
true
true
Run Code Online (Sandbox Code Playgroud)
虽然我期待价值
false
true
false
Run Code Online (Sandbox Code Playgroud)
我的实施有什么问题?
该命令celery worker -A proj --autoscale=10,1 --loglevel=info通过自动缩放启动工作器。
在创建具有 multi 的 worker 时,
me@mypc:~/projects/x$ celery multi start myworker --autoscale=10,1
celery multi v4.1.0 (latentcall)
> Starting nodes...
> myworker@mypc: OK
me@mypc:~/projects/kate$ celery multi show myworker
/home/me/.virtualenvs/kate/bin/python2.7 -m celery worker --detach -n myworker@mypc --pidfile=myworker.pid --logfile=myworker%I.log --executable=/home/me/.virtualenvs/x/bin/python2.7
Run Code Online (Sandbox Code Playgroud)
如何启用多自动缩放?
我只是尝试使用 Django,如何实现一个计数器来存储数据库上提供的请求计数?
我想统计 GET 请求的数量,我该怎么做才能让它工作?
我的模板,
<form action="/submit/" method="GET">
<input type="text" name="q">
<input type="submit" value="Submit">
</form>
Run Code Online (Sandbox Code Playgroud)
我的看法
def result(request):
name = request.GET['q']
message = 'your name is %r ' % name
return render(request, 'result.html', {'message': message})
Run Code Online (Sandbox Code Playgroud)
我想统计我按下提交按钮的次数。我应该启动一个新的应用程序counter还是存在其他方法来实现计数器?
这是一个电子邮件标题示例,
header = """
From: Media Temple user (mt.kb.user@gmail.com)
Subject: article: A sample header
Date: January 25, 2011 3:30:58 PM PDT
To: user@example.com
Return-Path: <mt.kb.user@gmail.com>
Envelope-To: user@example.com
Delivery-Date: Tue, 25 Jan 2011 15:31:01 -0700
Received: from :po-out-1718.google.com ([72.14.252.155]:54907) by cl35.gs01.gridserver.com with esmtp (Exim 4.63) (envelope-from <mt.kb.user@gmail.com>) id 1KDoNH-0000f0-RL for user@example.com; Tue, 25 Jan 2011 15:31:01 -0700
Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:mime-version:content-type; bh=+JqkmVt+sHDFIGX5jKp3oP18LQf10VQjAmZAKl1lspY=; b=F87jySDZnMayyitVxLdHcQNL073DytKRyrRh84GNsI24IRNakn0oOfrC2luliNvdea LGTk3adIrzt+N96GyMseWz8T9xE6O/sAI16db48q4Iqkd7uOiDvFsvS3CUQlNhybNw8m CH/o8eELTN0zbSbn5Trp0dkRYXhMX8FTAwrH0=
Domainkey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:mime-version:content-type; b=wkbBj0M8NCUlboI6idKooejg0sL2ms7fDPe1tHUkR9Ht0qr5lAJX4q9PMVJeyjWalH 36n4qGLtC2euBJY070bVra8IBB9FeDEW9C35BC1vuPT5XyucCm0hulbE86+uiUTXCkaB 6ykquzQGCer7xPAcMJqVfXDkHo3H61HM9oCQM=
Message-Id: <c8f49cec0807011530k11196ad4p7cb4b9420f2ae752@mail.gmail.com>
Mime-Version: …Run Code Online (Sandbox Code Playgroud) 我想要完成的是每个应用程序初始化只调用一次外部 API。
我有一个简单的服务,
@Injectable()
export class XService {
url = "http://api.example.com"
constructor(private _http:Http) {
}
callAnAPI(){
console.log('made an external request");
return this._http.get(url)
.map(res=>res.json());
}
}
Run Code Online (Sandbox Code Playgroud)
和两个组件,主要 appComponent
@Component({
selector: 'my-app',
template: `
<div>
Test
</div>
`
})
export class AppComponent {
isLoading = true;
results = [];
constructor(private _service: XService){
}
ngOnInit(){
Observable.forkJoin(
this._service.callAnAPI()
// some more services here
)
.subscribe(
res => {
this.results = res[0];
},
null,
() => {this.isLoading = false}
);
}
}
Run Code Online (Sandbox Code Playgroud)
和另一个与路由一起使用的组件
@Component({
template: …Run Code Online (Sandbox Code Playgroud) 我正在开发一个应用程序,我从服务器获取 html 格式的响应。我正在使用DomSanitizer 的bypassSecurityTrustHtml 并将清理后的html 添加到我的组件() 中。
我的问题是响应中的一些元素包含标签来指示可以从该元素构建链接,例如:
<div thisIsActuallyaLink linkParam1="foo" linkParam2="bar">clickHere</div>
Run Code Online (Sandbox Code Playgroud)
我想创建一个应用于innerhtml的指令,但是当显示html时,它不是用我的指令编译的...
如果有人想知道为什么转换 html 不是在服务器端完成:响应在多个应用程序中使用,并且链接必须根据应用程序具有不同的相对 url :-(
python ×7
django ×5
angular ×3
celery ×1
counter ×1
dictionary ×1
django-apps ×1
innerhtml ×1
javascript ×1
pytest ×1
rxjs ×1