我是Heroku的新手,所以我尝试按字面意思按照说明操作,因为这个错误我迷失了.因此,当我包含在"Heroku上使用Django入门"中编写的settings.py配置时,除非我从已安装的应用程序中注释掉南方,否则我无法再运行本地服务器.
这是错误:
from south.db import DEFAULT_DB_ALIAS
File "/home/alejandro/Proyectos/olenv/local/lib/python2.7/site-packages/south/db/__init__.py", line 83, in <module>
db = dbs[DEFAULT_DB_ALIAS]
KeyError: 'default'
Run Code Online (Sandbox Code Playgroud)
这是settings.py中的相关设置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'dbolib',
'USER': 'alejandro',
'PASSWORD': 'zzzzz'
}
}
# --- HEROKU --- #
# Parse database configuration from $DATABASE_URL
import dj_database_url
DATABASES['default'] = dj_database_url.config()
Run Code Online (Sandbox Code Playgroud)
也许它应该是这样的,因为南方是一个生产工具,因此它与Heroku冲突.也许不是,因为我是Heroku的新手,任何澄清都会有所帮助.
编辑 当我向南注释并尝试运行syncdb时,我发现此错误:
File "/home/alejandro/Proyectos/olenv/local/lib/python2.7/site-packages/django/db/backends/dummy/base.py", line 15, in complain
raise ImproperlyConfigured("settings.DATABASES is improperly configured. "
django.core.exceptions.ImproperlyConfigured: settings.DATABASES is improperly configured. Please supply the ENGINE value. Check settings documentation for more details. …
Run Code Online (Sandbox Code Playgroud) 我想打开一个Modal
显示用户点击的图像.所以,我在班上有很多图像.image
<a href="#">
<img data-toggle="modal" data-target="#modal_image" src="..." class="image thumbnail img-responsive">
</a>
Run Code Online (Sandbox Code Playgroud)
我有一个modal
:
<div class="modal fade" id="modal_image" tabindex="-1" role="dialog" aria-labelledby="modal_imagen" aria-hidden="true">
<div class="modal-body">
<img class = "image_modal" src="">
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
还要遵循JQuery
应该定义模态图像的代码:
$('.image').click(function(){
var new_src = $(this).attr('src');
$('#image_modal').attr('src', new_src);
});
Run Code Online (Sandbox Code Playgroud)
但它没有用.希望这不是一个愚蠢的错误,非常感谢你的帮助.
当我运行测试时,django 运行 0 个测试。这是我的项目结构:
manage.py
- app/
- main_app/
- test/
- tests_v1.py
- tests_v2.py
Run Code Online (Sandbox Code Playgroud)
我使用这个命令:
python manage.py test --pattern="tests_v*.py"
Run Code Online (Sandbox Code Playgroud)
Django 在 0 秒内运行 0 个测试。我错过了什么?
简单的问题。我有这个模型:
class Discount(models.Model):
discount_target = GenericForeignKey('content_type', 'object_id')
content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE, blank=True, null=True)
object_id = models.PositiveIntegerField(blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)
如何获取所GenericForeignKey
指向的对象?
我想创建一个可以更改html文档的python脚本,我有点迷茫,不知道从哪里开始,我尝试了几项根本行不通的事情,并且认为它不值得将它们张贴在这里。
问题在于,使用Django,最好编写如下所示的链接:
<link href="{% static 'assets/css/cssfile.css' %}"/>
<script src="{% static 'assets/js/jsfile.js' %}"></script>
<img src="{% static 'assets/images/desktop.png' %}"/>
Run Code Online (Sandbox Code Playgroud)
但是我有一个模板,实际上是几个模板,其中包含大量以常规方式引用的静态资产,如下所示:
<link href="assets/css/cssfile.css" rel="stylesheet"/>
<script src="assets/js/jsfile.js"></script>
<img src="assets/images/desktop.png"/>
Run Code Online (Sandbox Code Playgroud)
因此,我一直在尝试创建一个查找“资产”并编辑该行的脚本,替换href="assets
为href="{% static'
...,然后' %}
在末尾添加。我认为对于使用模板的Django开发人员来说,这将是一个非常有价值的脚本,也许它已经存在于某个地方。
有没有任何自动的方法可以将常规href / src属性转换为使用Django标签?
我知道有类似的问题,但答案是截然不同的,有点令人困惑.
我有这个字符串:
titulo = "Así Habló Zaratustra (Cómic)"
Run Code Online (Sandbox Code Playgroud)
当我尝试将其插入SQLite数据库时,我收到错误:
sqlite3.ProgrammingError: You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings (like text_factory = str). It is highly recommended that you instead just switch your application to Unicode strings.
Run Code Online (Sandbox Code Playgroud)
我尝试了一些没有成功的事情.请帮忙.
我一直在尝试将信息窗口添加到我的标记中,但由于可用的 SO 答案已经很旧了,所以我被卡住了。我有这个代码对应于 SO 中的这个答案:
var map_center = new google.maps.LatLng(-0.179041, -78.499211);
var map = new google.maps.Map(document.getElementById('mapa_ciudad'),
mapOptions);
marker_objects = [];
for (i = 0; i < markers.length; i++){
marker = new google.maps.Marker({
position: new google.maps.LatLng(markers[i][1], markers[i][2]),
map : map,
title: markers[i][0]
});
var infowindow = new google.maps.InfoWindow();
google.maps.event.addListener(marker, "click", function(marker){
// !!! PROBLEM HERE
return function(){
var content = [marker.title];
infowindow.setContent(content);
infowindow.open(map, marker);
}
})(marker);
marker_objects.push(marker);
}
function AutoCenter(){
var bounds = new google.maps.LatLngBounds();
$.each(marker_objects, function(index, marker){
bounds.extend(marker.position) …
Run Code Online (Sandbox Code Playgroud) 这里有一个类似的问题,但是从2011年和Django 1.2开始.从那时起,许多事情发生了变化 我正在使用Django 1.9.
我想知道我该如何正确地做到这一点,没有任何搞乱文件系统的风险.我有ImageField
一个模型:
class CartaMagicPy(models.Model):
imagen = models.ImageField(null=True, upload_to=ubicar_magicpy)
Run Code Online (Sandbox Code Playgroud)
在第一时刻,图像被保存.但是,然后,用户裁剪图像,并获得分配给它的新图像ImageField
.
旧图像不会从文件系统中删除.我该如何删除它?问题是model_object.imagen.path
更新后包含新图像的路径.如果我在用新图像更新它之前删除它,我冒险可能保存失败然后我最终没有图像.我可以使用保存后信号的组合吗?任何建议都会有帮助.
我有一个多对多字段。我想限制管理员在其M2M小部件中显示的选择。
我有一个这样的模型:
class A(models.Model):
b_field = models.ManyToManyField(B)
class B(models.Model):
available = models.BooleanField()
Run Code Online (Sandbox Code Playgroud)
如何将窗口小部件中显示的B对象仅限制于那些拥有available = True
?
我知道可以将模型方法或属性添加到序列化器中,如下所示:
class Order(models.Model):
...
def tax_status(self, check_item_bought=True):
...
Run Code Online (Sandbox Code Playgroud)
因此,要添加total_tax
到OrderSerializer
,就这么简单:
class OrderSerializer(serializers.ModelSerializer):
tax_status = serializers.CharField(required=False)
class Meta:
model = Order
fields = ["tax_status", ...]
Run Code Online (Sandbox Code Playgroud)
上面的效果很好。但是,我需要tax_status_all
向序列化器添加另一个字段,该字段指向相同的方法,但将 arg 设置check_item_bought
为 False。我怎样才能做到这一点?任何建议都会有所帮助。
django ×6
python ×2
database ×1
django-admin ×1
django-south ×1
django-tests ×1
encoding ×1
google-maps ×1
heroku ×1
html ×1
javascript ×1
jquery ×1
modal-dialog ×1
sqlite ×1
utf-8 ×1