我有一个像这样的字符串:
String A: [ 12234_1_Hello'World_34433_22acb_4554344_accCC44 ]
Run Code Online (Sandbox Code Playgroud)
我想加密字符串A以在干净的URL中使用.这样的事情:
String B: [ cYdfkeYss4543423sdfHsaaZ ]
Run Code Online (Sandbox Code Playgroud)
python中是否有编码API,给定字符串A,它返回String B?在python中是否有解码API,给定String B,它返回String A?
目前,这就是在用户配置文件中更改密码的方式。在知道不涉及模型的情况下,将其转换为基于类的视图的最佳方法是什么?
这是修改密码的视图
@login_required
def profile_change_password(request):
"""
Change password of user.
"""
user = get_object_or_404(User, username__iexact=request.user.username)
if request.method == 'POST':
form = PasswordChangeFormPrivate(user=user, data=request.POST)
if form.is_valid():
form.save()
messages.add_message (request, messages.INFO,
_('password changed'))
return HttpResponseRedirect(reverse('profile_view_details'))
else:
form = PasswordChangeFormPrivate(user=request.user)
return render_to_response('profiles/profile_change_password.html',
{ 'form': form,},
context_instance=RequestContext(request)
)
Run Code Online (Sandbox Code Playgroud)
这是更改密码的表格
class PasswordChangeFormPrivate(PasswordChangeForm):
def __init__(self, *args, **kwargs):
super(PasswordChangeForm, self).__init__(*args, **kwargs)
def clean_new_password2(self):
password1 = self.cleaned_data.get('new_password1')
password2 = self.cleaned_data.get('new_password2')
if password1 and password2:
if password1 != password2:
raise forms.ValidationError(_("The two password fields didn't match."))
min_len = getattr(settings, …Run Code Online (Sandbox Code Playgroud) django change-password django-views django-class-based-views
我正在切换到基于类的视图.我还使用JavaScript来确认客户端的任何删除.Django DeleteView需要一个我不关心的删除确认模板.
是否有任何简单的方法可以禁用Django中任何类型的删除确认?
class EntryDeleteView(DeleteView):
model = Entry
success_url = reverse_lazy('entry_list') # go back to the list on successful del
template_name = 'profiles/entry_list.html' # go back to the list on successful del
@method_decorator(login_required)
def dispatch(self, *args, **kwargs):
return super(EntryDeleteView, self).dispatch(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud) 我一直在访问GAE上托管的一些网站,我发现它们非常慢.几乎所有这些都需要比平时更长的时间来加载.
时间:(以秒为单位)[YSlow]
9.9 giftag.com
3.1 hotskills.net
1.9 jeeyo.net
1.5 appspot.com
Run Code Online (Sandbox Code Playgroud)
是App Engine Cloud太慢了,Bigtable太慢了......还是什么?
如果自上次下载以来没有更改页面,我只需要下载该页面怎么办?什么是最好的方法?我可以先获取页面的大小,然后比较决定是否已更改,如果是,我要求下载否则跳过?
我打算用(python)机械化.
需要保持包的大小,那么是否可以以某种受支持的格式压缩初始数据以供syncdb拾取?
我在某个地方读到你永远不会syncdb在数据库上运行,发布它的初始运行.这是真的?
我不明白问题是什么.你呢?
我有一些值,我想传递给过滤器,并从中获取一个URL.
在我的模板中,我有:
{% if names %}
{% for name in names %}
<a href='{{name|slugify|add_args:"custid=name.id, sortid=2"}}'>{{name}}</a>
{%if not forloop.last %} | {% endif %}
{% endfor %}
{% endif %}
Run Code Online (Sandbox Code Playgroud)
在我的模板标签中,我有:
@register.filter
def add_args(value, args):
argz = value.strip() + '-' + 'ARGS'
arglist = args.split(',')
for arg in arglist:
keyval = arg.split('=')
argz.join(keyval[0] + 'ZZ' + keyval[1])
argz.join('QQ')
return argz
Run Code Online (Sandbox Code Playgroud)
输出URL应如下所示:
http://foo.org/john-smith-ARGScustidZZ11QQsortidZZ2
Run Code Online (Sandbox Code Playgroud)
如果ARGS是参数的开头,则ZZ为'=',QQ为'&'等价物.
首先:这会有效,但我得到了add_args()中的custid = name.id,我希望custid = 11进来.如何将id作为id传入而不是文本.
另外,有没有办法像PHP一样发送key => value数组.在PHP中我会构建一个数组,让我们说:
arglist = array('custid' => $nameid, 'sortid' => $sortid );
Run Code Online (Sandbox Code Playgroud)
然后我会将arglist作为参数传递给我, …
我有以下内容:(它按预期工作)
# In <..>/profile/models.py
class UserProfile()
#In settings.py
AUTH_PROFILE_MODULE = "profile.UserProfile"
Run Code Online (Sandbox Code Playgroud)
我有以下内容:(不工作)
# In <..>/profile/models/__init__.py
class UserProfile()
AUTH_PROFILE_MODULE = "profile.UserProfile"
Run Code Online (Sandbox Code Playgroud)
似乎get_profile()调用get_model,它正在寻找models.py作为文件并尝试加载它.
这是错误:
提升SiteProfileNotAvailable('无法加载配置文件'SiteProfileNotAvailable:无法加载配置文件模型,请检查项目设置中的AUTH_PROFILE_MODULE
原因是我在配置文件应用程序中有很多类,它们都在不同的文件中并导入:
<..>/profile/models/__init__.py
Run Code Online (Sandbox Code Playgroud)
这适用于除get_profile()之外的所有其他内容.
任何变通方法的暗示?
name class一个id,一个first和一个last属性
在我的view.py中,我从数据库中获取一个名称对象并将其传递给index.html模板.
在我templagetags/my_tags.py,我有一个过滤器my_private_tag(value, arg),取值和arg.它将arg附加到值并返回结果.
def my_private_tag(value, arg):
return value + ' ' + arg
Run Code Online (Sandbox Code Playgroud)
在我的index.html标记中,我需要执行以下操作.
{% if name %}
# to display
# John says hello
{{name.first | my_private_tag:"says hello"}
# Johns student id = id_value
{{name.first | my_private_tag:"????????"}
# Johns student id = id_value, lastname = lastname_value
{{name.first | my_private_tag:"????????"}
{% endif %}
Run Code Online (Sandbox Code Playgroud)
哪里:
id_value = name.id & lastname_value = name.last
Run Code Online (Sandbox Code Playgroud)
请填写???????? 如果你可以的话.
搜索"C++"时,我在这一行上收到错误.
needles = "C++ Developer"
regal = re.compile(r"(%s)" % "|".join(needles), re.I)
# error: multiple repeat
Run Code Online (Sandbox Code Playgroud)
如何在不操作针的情况下避免上述错误?
什么是我可以在Linux上运行的最小,最友好的窗口管理器.我目前使用的Gnome有点重.
我需要的只是运行Firefox.
XFCE?
django ×7
python ×4
tags ×2
clean-urls ×1
compression ×1
confirmation ×1
django-views ×1
filter ×1
gnome ×1
hash ×1
hosting ×1
kde ×1
linux ×1
mechanize ×1
regex ×1
string ×1
templates ×1
urlencode ×1
web-services ×1
xfce ×1