我正在使用Django,它允许人们通过使用向类添加额外的参数class Meta.
class FooModel(models.Model):
...
class Meta:
...
Run Code Online (Sandbox Code Playgroud)
我在Python的文档中找到的唯一一件事是:
class FooMetaClass(type):
...
class FooClass:
__metaclass__ = FooMetaClass
Run Code Online (Sandbox Code Playgroud)
但是,我不认为这是一回事.
我可能遗漏了一些显而易见的东西但无论如何
当您os在python中导入包时,您可以使用任何子模块/子包.例如,这有效:
>>> import os
>>> os.path.abspath(...)
Run Code Online (Sandbox Code Playgroud)
但是我有自己的包,其结构如下:
FooPackage/
__init__.py
foo.py
Run Code Online (Sandbox Code Playgroud)
这里相同的逻辑不起作用:
>>> import FooPackage
>>> FooPackage.foo
AttributeError: 'module' object has no attribute 'foo'
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我的场景中有很多物体,所以旋转所有物体都会很痛苦.那么在鼠标点击和拖动时最简单的移动相机来源的方法是什么?这样,场景中的所有灯光,物体都在同一个位置,所以唯一改变的是相机.Three.js没有提供围绕某个点旋转相机的方法,或者它是什么?
谢谢
我真的很喜欢django/jinja2模板语言.它们的语法非常简单,而且功能多样.在javascript中是否有类似于语法和功能的内容,或者如果不是两者,至少在功能方面.
我查看了下划线,jquery模板和小胡子模板,但它们似乎都不是我想要的.
补充说明
我认为所有的库(我看过)胡子是最好的,但我不喜欢语法.例如这个胡子模板
{{#people}}
{{name}}
{{/people}}
{{^people}}
No people :(
{{/people}}
Run Code Online (Sandbox Code Playgroud)
与django的模板相比:
{% for person in people %}
{{ person.name }}
{% empty %}
No people :(
{% endfor %}`
Run Code Online (Sandbox Code Playgroud)
应用过滤器也是一样的.例如:
{{#filter}}{{value}}{{/filter}}
Run Code Online (Sandbox Code Playgroud)
VS
{{ value|filter }}
Run Code Online (Sandbox Code Playgroud)
我认为django/jinja2方法更干净,感觉更自然.
那么,是否有任何js库的模板与django/jinja非常相似?如果没有,我想我必须忍受muschache(或者其他一些好的js库 - 我愿意接受建议),但它感觉不对.
谢谢.
javascript jquery template-engine language-comparisons jinja2
我有一个视图,我需要显示有关某个模型实例的信息,因此我使用了DetailView.我还需要相同的视图来处理常规表单(不是模型表单),同时显示表单GET并验证它POST.要做到这一点,我试图使用一个FormView但是两个视图clases的组合不起作用:
class FooView(FormView, DetailView):
# configs here
Run Code Online (Sandbox Code Playgroud)
在GET(为了简单的问题我将只显示问题,GET因为POST有一个不同的问题),它不起作用,因为表单永远不会被添加到上下文.原因与该类的方法解析顺序有关:
>>> inspect.getmro(FooView)
(FooView,
django.views.generic.edit.FormView,
django.views.generic.detail.DetailView,
django.views.generic.detail.SingleObjectTemplateResponseMixin,
django.views.generic.base.TemplateResponseMixin,
django.views.generic.edit.BaseFormView,
django.views.generic.edit.FormMixin,
django.views.generic.detail.BaseDetailView,
django.views.generic.detail.SingleObjectMixin,
django.views.generic.base.ContextMixin,
django.views.generic.edit.ProcessFormView,
django.views.generic.base.View,
object)
Run Code Online (Sandbox Code Playgroud)
在请求中,Django必须获取表单并将其添加到上下文中.这发生在ProcessFormView.get:
def get(self, request, *args, **kwargs):
"""
Handles GET requests and instantiates a blank version of the form.
"""
form_class = self.get_form_class()
form = self.get_form(form_class)
return self.render_to_response(self.get_context_data(form=form))
Run Code Online (Sandbox Code Playgroud)
然而,get定义了MRO的第一个类是BaseDetailView:
def get(self, request, *args, **kwargs):
self.object = self.get_object()
context …Run Code Online (Sandbox Code Playgroud) 默认情况下是否有可用的否定过滤器.想法是你可以在django ORM中执行以下操作:
model.objects.filter(field!=value)
Run Code Online (Sandbox Code Playgroud)
如果可能的话,我怎么能在tastypie中做到这一点.我试过了:
someapi.com/resource/pk/?field__not=value
someapi.com/resource/pk/?field__!=value
someapi.com/resource/pk/?field!=value
Run Code Online (Sandbox Code Playgroud)
而且他们都给了我错误.
我有一个django项目,我在docstrings中使用reST来记录以下内容:
我的文档在IDE(PyCharm)中正确显示,但我无法配置Sphinx为我生成HTML文档.
这是我的项目的结构
+--------------------------------------------+
| /saassapp # django project path |
| /docs # dir for sphinx |
| conf.py # sphinx config file |
| ... |
| settings.py # django settings |
| /studyview # django app |
| ...
| ... |
+--------------------------------------------+
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?对conf.py文件的检查非常有用.谢谢.
编辑
我的项目名称是saassapp,我试图制作文档的模块叫做studyview.
conf.py文件:http://pastebin.com/HTYdc1rRindex文件:http://pastebin.com/bu1r38TQmake html:http://pastebin.com/MWJj94EEpython django documentation documentation-generation python-sphinx
这是我尝试做的:
(SAASSenv)miki725mac:SAASSenv miki725$ python
Python 2.7.2 (v2.7.2:8527427914a2, Jun 11 2011, 15:22:34)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
(SAASSenv)miki725mac:SAASSenv miki725$
(SAASSenv)miki725mac:SAASSenv miki725$ pip install http://downloads.sourceforge.net/project/matplotlib/matplotlib/matplotlib-1.0.1/matplotlib-1.0.1.tar.gz
Downloading/unpacking http://downloads.sourceforge.net/project/matplotlib/matplotlib/matplotlib-1.0.1/matplotlib-1.0.1.tar.gz
Downloading matplotlib-1.0.1.tar.gz (13.3Mb): 13.3Mb downloaded
Running setup.py egg_info for package from http://downloads.sourceforge.net/project/matplotlib/matplotlib/matplotlib-1.0.1/matplotlib-1.0.1.tar.gz
basedirlist is: []
============================================================================
BUILDING MATPLOTLIB
matplotlib: 1.0.1
python: 2.7.2 (v2.7.2:8527427914a2, Jun 11 2011, 15:22:34)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)]
platform: darwin
REQUIRED DEPENDENCIES …Run Code Online (Sandbox Code Playgroud) 我真的很喜欢使用Bitbucket或Github,但我经常离线,无法访问我们项目的问题页面.最近Github发布了一个允许管理repo的Mac桌面应用程序,但是我找不到任何Mac/Windows/Linux桌面应用程序,这将允许我管理Github或Bitbucket问题,然后将它们推送到实际的服务器.
有没有这样的东西?还是其他推荐?谢谢.
我希望文件名是随机的,因此我使用upload_to函数返回一个随机文件名,如下所示:
from uuid import uuid4
import os
def get_random_filename(instance, filename):
ext = filename.split('.')[-1]
filename = "%s.%s" % (str(uuid4()), ext)
return os.path.join('some/path/', filename)
# inside the model
class FooModel(models.Model):
file = models.FileField(upload_to=get_random_filename)
Run Code Online (Sandbox Code Playgroud)
但是我想将原始文件名保存到模型内的属性中.这样的东西不起作用:
def get_random_filename(instance, filename):
instance.filename = filename
ext = filename.split('.')[-1]
filename = "%s.%s" % (str(uuid4()), ext)
return os.path.join('some/path/', filename)
# inside the model
class FooModel(models.Model):
file = models.FileField(upload_to=get_random_filename)
filename = models.CharField(max_length=128)
Run Code Online (Sandbox Code Playgroud)
我该怎么做?
谢谢.
django ×5
python ×5
javascript ×2
3d ×1
api ×1
bitbucket ×1
github ×1
install ×1
jinja2 ×1
jquery ×1
matplotlib ×1
metaclass ×1
tastypie ×1
three.js ×1
virtualenv ×1