我在Pycharm的Windows 7上运行Django 1.4并且我安装了WAMP,因为我需要将我的数据放在MySQL表中.
这是来自setting.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'aidata',
'USER': 'root'
}
}
Run Code Online (Sandbox Code Playgroud)
从installed_apps我取消注释:
'django.contrib.sessions'
Run Code Online (Sandbox Code Playgroud)
运行manage.py syncdb不会在我的mysqldb中创建任何表(甚至是模型).
我试图访问时收到错误 /admin/
DatabaseError at /admin/
(1146, "Table 'aidata.django_session' doesn't exist")
Run Code Online (Sandbox Code Playgroud) 我正在使用django-guardian来管理每个对象的权限.
对于给定的用户,我授予对一个对象的所有权限:
joe = User.objects.get(username="joe")
mytask = Task.objects.get(pk=1)
assign('add_task', joe, mytask)
assign('change_task', joe, mytask)
assign('delete_task', joe, mytask)
Run Code Online (Sandbox Code Playgroud)
我按预期得到了:
In [57]: joe.has_perm("add_task", mytask)
Out[57]: True
In [58]: joe.has_perm("change_task", mytask)
Out[58]: True
In [59]: joe.has_perm("delete_task", mytask)
Out[59]: True
Run Code Online (Sandbox Code Playgroud)
在admin.py中我也使TaskAdmin继承GuardedModelAdmin而不是admin.ModelAdmin
现在当我用joe连接到我的网站时,我得到了管理员:
You don't have permission to edit anything
Run Code Online (Sandbox Code Playgroud)
我不应该能够编辑对象mytask吗?
我是否必须使用内置的基于模型的权限系统设置一些权限?
我错过了什么吗?
编辑
我试图添加选项user_can_access_owned_objects_only,这应该是我的问题,但我仍然看不到我的管理员...
class TaskAdmin(GuardedModelAdmin):
user_can_access_owned_objects_only = True
pass
admin.site.register(Task, TaskAdmin)
Run Code Online (Sandbox Code Playgroud)
谢谢
django permissions django-admin django-authentication django-guardian
我已经使用UpdateCacheMiddleware和FetchFromCacheMiddlewareMiddleWare来实现站点范围的匿名缓存,以获得不同程度的成功.
最大的问题是中间件只缓存匿名用户的第一个请求.由于在第一个响应上设置了session_id cookie,因此匿名用户的后续请求不会因为Headers上的视图级缓存变化而到达缓存.
我的网页在匿名用户中没有显着差异,并且只要它们有所不同,我可以通过Ajax处理.结果,我决定尝试将Django的缓存中间件子类化为不再改变Header.相反,它在Anonymous vs. LoggedIn Users上有所不同.因为我正在使用Auth后端,并且该处理程序在从缓存中获取之前发生,所以它似乎有效.
class AnonymousUpdateCacheMiddleware(UpdateCacheMiddleware):
def process_response(self, request, response):
"""
Sets the cache, if needed.
We are overriding it in order to change the behavior of learn_cache_key().
"""
if not self._should_update_cache(request, response):
# We don't need to update the cache, just return.
return response
if not response.status_code == 200:
return response
timeout = get_max_age(response)
if timeout == None:
timeout = self.cache_timeout
elif timeout == 0:
# max-age was set to 0, don't …Run Code Online (Sandbox Code Playgroud) 给定以下目录结构:
– Gruntfile.js
– app
|– index.php
|– js
|– css
|– templates
|– template.php
– dist
Run Code Online (Sandbox Code Playgroud)
如何配置grunt usemin来更新模板文件中相对于使用模板的index.php的样式和脚本的引用?
目前任务看起来像这样:
useminPrepare: {
html: '<%= yeoman.app %>/templates/template.php',
options: {
dest: '<%= yeoman.dist %>'
}
},
usemin: {
html: ['<%= yeoman.dist %>/{,*/}*.php'],
css: ['<%= yeoman.dist %>/css/*.css'],
options: {
dirs: ['<%= yeoman.dist %>']
}
}
Run Code Online (Sandbox Code Playgroud)
模板内部的块看起来像这样:
<!-- build:js js/main.js -->
<script src="js/script1.js"></script>
<script src="js/script2.js"></script>
<!-- endbuild -->
Run Code Online (Sandbox Code Playgroud) class permForm(forms.Form):
def __init__(self, data=None, **kwargs):
super(permForm, self).__init__(data, **kwargs)
for item in list(AdminMenu.objects.filter(parent_id=0)):
self.fields['menu_%d' % item.id] = forms.BooleanField(label=item.title)
for childitem in list(AdminMenu.objects.filter(parent_id=item.id)):
arr=[]
arr.append(str(item.id))
arr.append(str(childitem.id))
self.fields['menu_%s' % '_'.join(arr)] = forms.BooleanField(label=childitem.title)
Run Code Online (Sandbox Code Playgroud)
这将返回
类别:复选框
添加类别:复选框
列表类别:复选框
食物:复选框
添加Fooditems:复选框
列出Fooditem:复选框
表格:复选框
添加表格:复选框
列表:复选框
用户:复选框
查看用户:复选框
如何将其显示如下
类别:复选框
添加类别:复选框
列表类别:复选框
食物:复选框
添加Fooditems:复选框
列出Fooditem:复选框
表格:复选框
添加表格:复选框
列表:复选框
用户:复选框
查看用户:复选框
我想让父母分类标签大胆地从孩子那里辨认出来.可能?我不想使用硬编码的形式
这是一个非常简单的程序:
a = [[]]*3
print str(a)
a[0].append(1)
a[1].append(2)
a[2].append(3)
print str(a[0])
print str(a[1])
print str(a[2])
Run Code Online (Sandbox Code Playgroud)
这是我期待的输出:
[[], [], []]
[1]
[2]
[3]
Run Code Online (Sandbox Code Playgroud)
但相反,我得到了这个:
[[], [], []]
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]
Run Code Online (Sandbox Code Playgroud)
我真的没有到达这里!
我收到错误"_reverse_with_prefix()参数后*必须是一个序列,而不是int"当我尝试反转时.我以前在视图中硬编码参数,但我试图使其动态化.有什么建议?
视图:
def add_review(request, product_id):
p = get_object_or_404(Product, pk=product_id)
if request.method == 'POST':
form = ReviewForm(request.POST)
if form.is_valid():
form.save()
#HARDCODED: return HttpResponseRedirect('/products/1/reviews/')
return HttpResponseRedirect(reverse('view_reviews', args=(p.id)))
else:
form = ReviewForm()
variables = RequestContext(request, {'form': form})
return render_to_response('reserve/templates/create_review.html', variables)
def view_reviews(request, product_id):
product = get_object_or_404(Product, pk=product_id)
reviews = Review.objects.filter(product_id=product_id)
return render_to_response('reserve/templates/view_reviews.html', {'product':product, 'reviews':reviews},
context_instance=RequestContext(request))
urlpatterns = patterns('reserve.views',
url(r'^clubs/$', 'index'),
url(r'^products/(?P<product_id>\d+)/reviews/$', 'view_reviews'),
url(r'^products/(?P<product_id>\d+)/add_review/$', 'add_review'),
url(r'^admin/', include(admin.site.urls)),
)
Run Code Online (Sandbox Code Playgroud) 我想在Metro Style App中使用幻灯片样式实现页面转换.
效果看起来像
state 1 state 2 state 3
____________ _______________ ____________
| | | | | | |
| page A | ====> |page A |page B | ====> | page B |
| | |partial|partial| | |
|____________| |_______|_______| |____________|
Run Code Online (Sandbox Code Playgroud)
它将通过平移手势从右向左滑动来触发(没有触发系统工具栏,我不知道如何隔离它们).
我打得瓦特/ exitPage/enterPage但没有运气:好像之前B页面中获取页面A被消失了.
此外,我读过一个页面导航,片段加载的代码示例和滚动/平移的代码示例想想吧,将当前页面和新页面放在div包装器中,并在div中调用它们navigate().但这可能会破坏CSS的位置,我不知道什么时候可以安全地调用新页面的JS ...
更新1也许FlipView可以做到这一点?
更新2找到加载本地页面的方法FlipView,发现有用的链接的掌握,但仍然困惑...
update …
我使用Django 1.4.我在与404.html相同的目录中创建了403.html文件(404错误页面工作正常).是的,我读过这个.然后我在浏览器中关闭cookie,尝试登录并查看默认的403错误页面,而不是我的403.html页面:
Forbidden (403)
CSRF verification failed. Request aborted.
More information is available with DEBUG=True.
Run Code Online (Sandbox Code Playgroud)
我重新启动了Apache,但它没有帮助.
怎么解决?谢谢
我在谷歌搜索这个主题已经很长时间了,但还是无法解决这个简单的问题.
我想在我的Windows机器上只安装sqlplus和oci客户端.oracle服务器正在远程运行.在这个Windows框中我只想要客户端组件包括sqlplus终端.
我已经在我的Windows机器上完成了以下操作
从这里下载oracle数据访问组件
http://www.oracle.com/technetwork/database/windows/downloads/index-090165.html
以管理员身份运行cmd.exe并运行以下命令
安装所有c:\ oracle myhome
在Windows控制面板中设置以下环境变量
ORACLE_HOME=C:\ORACLE
LD_LIBRARY_PATH=C:\ORACLE
LIB_PATH=c:\ORACLE
NLS_LANG=AMERICAN_AMERICA.UTF8
PATH=C:\ORACLE;C:\ORACLE\BIN
Run Code Online (Sandbox Code Playgroud)
但是当我运行sqlplus.exe时出现错误
**SP2-0667:找不到消息文件sp1.msb SP2-0750:您可能需要将ORACLE_HOME设置为Oracle软件目录**
我的所有搜索都向我显示人们通过正确设置oracle_home来解决这个问题...但我认为他们安装了完整的服务器产品,而我只使用上面列出的命令安装了客户端组件.
我错过了什么?如何在不在我的机器上安装完整服务器的情况下获得正常工作的sqlplus?
django ×6
python ×2
caching ×1
django-admin ×1
django-views ×1
forms ×1
gruntjs ×1
html5 ×1
javascript ×1
label ×1
list ×1
middleware ×1
permissions ×1
sqlplus ×1
windows-8 ×1
yeoman ×1