根据Django文档,"如果SESSION_EXPIRE_AT_BROWSER_CLOSE设置为True,Django将使用浏览器长度的cookie - 一旦用户关闭浏览器就会过期的cookie.如果您希望人们每次都必须登录,请使用此打开浏览器."
这就是我通过将以下行添加到我的settings.py文件(并重新启动服务器)所做的事情:
# Close the session when user closes the browser
SESSION_EXPIRE_AT_BROWSER_CLOSE = True
Run Code Online (Sandbox Code Playgroud)
然后我登录到一个页面,检查用户是否经过身份验证,然后我关闭了浏览器.当我再次打开浏览器并访问同一页面时,它不会要求输入用户名和密码,因为它显然通过了以下测试:
def check_teacher(request):
result = {}
if request.user.is_authenticated():
...
Run Code Online (Sandbox Code Playgroud)
我做错了什么或我错过了什么?有什么建议?
我在我的Ubuntu GNU/Linux 10.10系统上使用Django 1.3版pre-alpha SVN-13858,并使用Django开发服务器运行上面的示例.
目前,我们使用cURL从HTTPS读取.一切正常.
我们在curl中设置了如下证书:
curl_easy_setopt(curl,CURLOPT_SSLCERTTYPE,"PEM");
curl_easy_setopt(curl,CURLOPT_SSLCERT,"/etc/ssl/certs/abc.cert.pem");
curl_easy_setopt(curl,CURLOPT_SSLKEYTYPE,"PEM");
curl_easy_setopt(curl,CURLOPT_SSLKEY,"/etc/ssl/certs/abc.key.pem");
Run Code Online (Sandbox Code Playgroud)
现在我们要将这些证书文件移动到不同的目录.即使我在上面的命令中更改路径它也不起作用,因为我认为证书路径在libcurl中被硬编码为/ etc/ssl.
基于谷歌搜索,我尝试先添加,
curl_easy_setopt(curl, CURLOPT_CAPATH, "/MyDir/");
Run Code Online (Sandbox Code Playgroud)
然后是具有正确相对路径的四条线.它没有用.
如何将路径(存储证书的目录)更改为我想要的内容.将会感谢示例或解释.
谢谢
詹姆士
我在从一个JAR文件中运行多个不同的类时遇到问题.我知道我可以将JAR中的一个类设置为将在命令后运行的Main类java -jar myjar.jar,但我想要的是:
java -jar myjar.jar MyClass
Run Code Online (Sandbox Code Playgroud)
是否有可能以这种方式执行此操作,或者我是否必须创建多个JAR(每个用于一个可运行的类),或者更好地创建将运行我的其他类传递给命令行参数的"manager"类?
我正在寻找文档或参考,但我找不到任何.
我正在创建ContentProvider,它是另一个ContentProvider的代理(用于安全问题并允许访问完整应用程序的部分功能).
public class GFContactsProvider extends ContactsProvider implements
DatabaseConstants {
private Context mContext;
private ContentResolver mContentResolver;
@Override
public boolean onCreate() {
mContext = getContext();
mContentResolver = mContext.getContentResolver();
}
@Override
public Cursor query(Uri uri, String[] projection, String selection,
String[] selectionArgs, String sortOrder) {
Cursor result = mContentResolver.query(ContactsContract.getContactsURI(Long.parseLong(address.get(1))), null, null, null, ContactsContract.ContactColumns.SHOW_NAME);
return result;
}
}
Run Code Online (Sandbox Code Playgroud)
从我的CP调用内部CP后,我发现意外的异常:
java.lang.UnsupportedOperationException: Only CrossProcessCursor cursors are supported across process for now
Run Code Online (Sandbox Code Playgroud)
例外涉及由CP包裹Cursor并将其传输包裹,外部CP不能再包装它,所以我在这里遇到问题.当我检查返回游标的类时,我收到了CursorWrapperInner.有没有办法在我的外部CP中打开游标(从这个CWI到常规Cursor)(但不是通过循环将所有数据传输到MatrixCursor - 这太费时了).
我不知道在不可变对象上叫什么叫"setter"?
对于一个可变对象Person,setter的工作方式如下:
class Person(private var _name: String) {
def name = "Mr " + _name
def name_=(newName: String) {
_name = newName
}
}
val p = new Person("Olle")
println("Hi "+ p.name)
p.name = "Pelle"
println("Hi "+ p.name)
Run Code Online (Sandbox Code Playgroud)
这一切都很好,但如果Person是不可变的呢?
class Person(private val _name: String) {
def name = "Mr " + _name
def whatHereName(newName: String): Person = new Person(newName)
}
val p = new Person("Olle")
println("Hi "+ p.name)
val p2 = p.whatHereName("Pelle")
println("Hi "+ p2.name)
Run Code Online (Sandbox Code Playgroud)
应该whatHereName叫什么?
编辑: 我需要把东西放在"setter"方法中,如下所示: …
我在文本框上有一个日期选择器txtDate.如果chkBox选中特定的复选框,我需要删除日期选择器.如果未选中该复选框,则重新应用日期选择器.
我尝试将文本框只读,但是datepicker仍在工作.这该怎么做.
编辑:在同一个复选框事件中,我还想将选择(下拉)控件设置为不可选.没有人应该能够改变选择控件中的内容.
我正在尝试在应用程序首次运行时从我的Android项目中的res/raw文件夹加载XML文件.我用这一行做到这一点:
InputStream xmlStream = getResources().openRawResource(R.raw.xmlfile);
Run Code Online (Sandbox Code Playgroud)
然后我想使用SAX Parser从XML文件中获取数据.执行此操作时,LogCat显示以下错误:
Data exceeds UNCOMPRESS_DATA_MAX (1290892 vs 1048576)
Run Code Online (Sandbox Code Playgroud)
反过来这个1MB的限制吗?
经过一些谷歌搜索,我发现有人将他们的文件分成1MB块,但这些不是XML文件,所以我不确定在为SAX Parser制作InputSource之前我将如何重新加入它们.
我的文件不是由我创建的,所以我不能真正编辑它(虽然我可能不得不),如果我从Internet检索它,我的代码就可以了.它的大小约为1,300KB,因此我希望每次app运行时都不必下载它
我使用索引视图,这是一个没有任何关系的实体(与我的表实体的关系将是更好的,但这似乎几乎不可能实现).这个视图由4个FK组成,它们共同构成了PK:
PortalID
CategoryID
BranchID
CompanyID
Run Code Online (Sandbox Code Playgroud)
现在我加入这个视图来选择这样一组公司:
var companies = (from c in database.Companies.FindAll().Include("City")
join l in database.CompanyList.FindAll() on c.ID equals l.CompanyID
where l.PortalID == 9 && l.BranchID == 1597
select c).Take(10);
Run Code Online (Sandbox Code Playgroud)
实体公司与表格(城市ID,城市)有关联,我想要包含并完美地运作.但是,当我加入视图时,.Include()被完全忽略,从而导致查询没有连接到cities表.
正如您可能已经使用存储库模式得出结论而FindAll()返回IQueryable并且我已经手动将Include扩展添加到IQueryable,如下所示:
public static IQueryable<T> Include<T>(this IQueryable<T> sequence, string path) {
var objectQuery = sequence as ObjectQuery<T>;
if (objectQuery != null)
return objectQuery.Include(path);
return sequence;
}
Run Code Online (Sandbox Code Playgroud)
我已经彻底测试了这个扩展,并且它应该像它一样工作
所以现在对于我的问题,为什么它忽略了最终表达式树中的Include操作,我怎么能阻止它这样做呢?
更新:
我从以下链接获得了我的解决方案:http:
//blogs.msdn.com/b/alexj/archive/2009/06/02/tip-22-how-to-make-include-really-include.aspx
这说我需要像这样重写我的查询:
var companies = (from c in database.Companies.GetAll()
join l in database.CompanyList.GetAll() on c.ID equals l.CompanyID …Run Code Online (Sandbox Code Playgroud) 让我感到惊讶的是,这种行为也会延续到常数:
use strict;
use warnings;
use Data::Dump 'dump';
use constant data => {
'foo' => {
'bar' => 'baz',
},
'a' => {
'b' => 'c',
}
};
dump data; # Pre-modified
print "No data for 'soda->cola->pop'\n" unless exists data->{soda}{cola}{pop};
dump data; # data->{soda}{cola} now sprung to life
Run Code Online (Sandbox Code Playgroud)
产量
Run Code Online (Sandbox Code Playgroud){ a => { b => "c" }, foo => { bar => "baz" } } No data for 'soda->cola->pop' { a => { …