我有一个模特,有FileField.当我在视图中编辑此模型时,我想要更改其"视图"中FileField显示的"当前"值.让我解释.
models.py:
class DemoVar_model(models.Model):
...
Welcome_sound=models.FileField(upload_to='files/%Y/%m/%d')
Run Code Online (Sandbox Code Playgroud)
forms.py:
class DemoVar_addform(ModelForm):
...
class Meta:
model = DemoVar_model
Run Code Online (Sandbox Code Playgroud)
views.py:
soundform = DemoVar_addform(instance=ivrobj)
....
return render_to_response(template,{'soundform':soundform}, ....)
Run Code Online (Sandbox Code Playgroud)
现在我想在我的视图中编辑这个模型.当我在浏览器中查看时,我看到表单显示为
Welcome sound: Currently: welcome_files/2011/04/27/15_35_58_ojCompany.wav.mp3
Change : <Choose File button>
Run Code Online (Sandbox Code Playgroud)
我想更改此"当前"值,该值描述文件在我的服务器上退出时的整个路径.我想将此字符串修剪为没有路径的文件名.我该如何做到这一点?
我有一个二维数组
xx=[[a,1],[b,2],[c,3]]
Run Code Online (Sandbox Code Playgroud)
现在我正在尝试从中删除重复的条目.对于简单的1-D数组,简单的代码就像
xx=list(set(xx))
Run Code Online (Sandbox Code Playgroud)
会工作.但尝试在二维元素上设置会产生错误
temp = set(xx)
TypeError: unhashable type: 'list'
Run Code Online (Sandbox Code Playgroud)
一种解决方法是序列化xx元素,然后在新数组上执行一个列表(set()),然后再次反序列化所有元素.
在python中有什么解决方案吗?
我在Apache + mod_wsgi上设置了我的Django应用程序.根据Django项目网站的建议,我正在使用Nginx提供静态文件.http://docs.djangoproject.com/en/dev/howto/deployment/modwsgi/
Apache在端口8081上运行,nginx在端口80上运行.现在有人建议我的配置错误,我应该反转Apache和Nginx的角色.我不确定为什么会这样.如果确实我的配置错了,为什么django网站会提出错误的方法呢?
我正在使用StaggeredGridLayoutManager作为我的图片库.我已经设置好了setReverseLayout(true),所以图像从底部堆叠起来.
我面临的问题是在初始化app时,滚动点位于图库底部.当用户第一次启动应用程序时,我希望滚动位于库的顶部.
我已经尝试过使用scrollToPosition(下面的代码片段)但是滚动结果在画廊中间的某个地方结束,可能是因为在调用时图像没有正确加载scrollToPosition.
mLayoutManager = new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL);
mLayoutManager.setReverseLayout(true);
mRecyclerView.setLayoutManager(mLayoutManager);
mImageList = ((MainActivity)getActivity()).getImages();
adapter = new ImageAdapter(getActivity(),mImageList);
mRecyclerView.setAdapter(adapter);
mRecyclerView.scrollToPosition(mImageList.size()-1);
Run Code Online (Sandbox Code Playgroud)
是否有正确的方法将滚动指向顶部而不是底部?
嗨,
我正在尝试在模板中列出通用Django模型的字段和相应值.但是,我找不到一个针对相当常见问题的内置解决方案.我非常接近解决方案,但找不到出路.
view.py代码:
def showdetails(request, template):
objects = newivr1_model.objects.all()
fields = newivr1_model._meta.get_all_field_names()
return render_to_response(template, {'fields': fields,'objects':objects},
context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
模板代码:
<table>
{% for object in objects %}
<tr>
{% for field in fields %}
<td>
<!-- {{ object.field }} /*This line doesn't work*/ -->
</td>
{% endfor %}
</tr>
{% endfor %}
</table>
Run Code Online (Sandbox Code Playgroud)
我应该在注释的模板行做什么,以便获得Object.field的值?
任何更好的DRY方法也是最受欢迎的.
我正在用蓝图测试Flask.我的应用有两个蓝图:
碱/ __ init__.py
base = Blueprint('base', __name__, static_folder='static', template_folder='templates')
#http://server.com/base
Run Code Online (Sandbox Code Playgroud)
意见/ __ init__.py
opinions = Blueprint('opinions', __name__, static_folder='static', template_folder='templates')
#http://server.com/opinions
Run Code Online (Sandbox Code Playgroud)
__init__.py
app = Flask(__name__)
from app.base import views
from app.base import base
app.register_blueprint(base, url_prefix='/base')
from app.opinions import views
from app.opinions import opinions
#app.register_blueprint(opinions, url_prefix='/opinions') <-- Uncommenting this line causes issues
Run Code Online (Sandbox Code Playgroud)
如果我只注册其中一个蓝图,一切运行正常.但是,如果我同时注册两个蓝图,则始终会加载模板opinions.例如,如果我点击http://server.com/base,则会从views文件夹中选择index.html.Flask文档没有提到任何关于'template_folder'命名空间冲突的内容.
PS - 我想知道处理多个蓝图的其他方法.我不太习惯views从两个不同的蓝图导入文件.什么是更好的方法呢?
我的10.04 ubuntu盒子上有一个chroot环境.我正试图在这个chroot环境中运行mysql,但是我收到了这个错误.
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Run Code Online (Sandbox Code Playgroud)
基本上我使用debootstrap和schroot来创建chroot.然后我在这个chroot环境中安装了"ubuntu-minimal"和mysql-server.如果您对此感兴趣,请执行以下步骤:https://help.ubuntu.com/community/DebootstrapChroot.但是mysql在chroot中不起作用./var/log/mysql.log和/var/log/mysql.err文件为空,mysqld服务器正在运行.有什么指针吗?
我最近开始在python中使用JSON.现在我通过post请求将JSON字符串传递给Python(Django).现在我想解析/迭代这些数据.但我找不到一种优雅的方法来解析这些数据,不知怎的,我确信存在.
data = request.POST['postformdata']
print data
{"c1r1":"{\"Choice\":\"i1\"}","c2r1":"{\"Bool\":\"i2\"}","c1r2":"{\"Chars\":\"i3\"}"}
jdata = json.loads(data)
print jdata
{u'c1r2': u'{"Chars":"i3"}', u'c1r1': u'{"Choice":"i1"}', u'c2r1': u'{"Bool":"i2"}'}
Run Code Online (Sandbox Code Playgroud)
这是预期的.但是现在当我想要获得价值时,我开始遇到问题.我必须做点什么
mydecoder = json.JSONDecoder()
for part in mydecoder.decode(data):
print part
# c1r2 c1r1 c2r1 ,//Was expecting values as well
Run Code Online (Sandbox Code Playgroud)
我希望获得值+键,而不仅仅是键.现在,我必须使用键来使用类似的东西来获取值
print jdata[key]
Run Code Online (Sandbox Code Playgroud)
如何以更简单的方式迭代这些数据,以便我可以迭代键值?
我正在使用类型函数动态创建一些对象类型.防爆
return type('DynamicType', (object,), dict)
Run Code Online (Sandbox Code Playgroud)
dict取决于用户输入.现在我希望我能够保存这个返回的类类型,并在不同的会话中使用相同的类.一种可能的方法是将dict保存为文本(或数据库)并再次从该dict创建此对象类型.但是有没有其他方法可以直接保存"类型"?
当我运行命令时,我需要设置一些shell环境变量,该变量保存来自".bashrc"内部的当前命令.实际上我需要在运行命令时更新PROMPT_COMMAND,我需要整个命令行,我将从中选择相关值.
PROMPT_COMMAND='TITLE=`echo !!`; echo $TITLE;'
Run Code Online (Sandbox Code Playgroud)
我尝试echo !!在.bashrc中使用,但这只是给我!!标题.有任何想法吗?