小编Dam*_*ian的帖子

在python中构建完整路径文件名,

我需要将文件路径名传递给模块,该模块创建报告文档为pdf,html等.如何从目录名,基本文件名和fileformat字符串构建文件路径名?

在通话时该目录可能存在也可能不存在

例如

dir_name='/home/me/dev/my_reports'
base_filename='daily_report'
format = 'pdf'
Run Code Online (Sandbox Code Playgroud)

我需要创建一个字符串 '/home/me/dev/my_reports/daily_report.pdf'

手动连接片段似乎不是一个好方法.我试过os.path.join

join(dir_name,base_filename,format)
Run Code Online (Sandbox Code Playgroud)

但它给了

/home/me/dev/my_reports/daily_report/pdf
Run Code Online (Sandbox Code Playgroud)

python filenames join

159
推荐指数
3
解决办法
19万
查看次数

减法时的python timedelta行为

当我遇到关于python的datetime和timedelta实例的另一个线程时,这个问题就产生了

我按照更新jimgardener并阅读评论eyquem,并尝试了一些python代码..我很难理解这里的工作方式(由于我的新手到python状态)..我认为这是正确的问一个新问题

import datetime
#for t1=23:30:00 PM
t1 = datetime.time(23,30,00)

#for t1=00:15:30 AM
t2 = datetime.time(0,15,30)

td1 = datetime.timedelta(hours=t1.hour,minutes = t1.minute,seconds=t1.second)

td2 = datetime.timedelta(hours=t2.hour,minutes = t2.minute,seconds=t2.second)

#substarcting timedeltas
tdiff = td2-td1
Run Code Online (Sandbox Code Playgroud)

打印出这些变量

td1 ==> datetime.timedelta(0, 84600)
td1.seconds ==> 84600

td2 ==> datetime.timedelta(0, 930)
td2.seconds ==> 930

tdiff ==> datetime.timedelta(-1, 2730)
Run Code Online (Sandbox Code Playgroud)

当我看到这些结果时,我注意到了

td1.seconds (ie 84600) is equivalent to 
84600/60 ==> 1410 minutes
1410/60 ==> 23.5 hours
or in short,td1 represents the duration **from previous midnight** …
Run Code Online (Sandbox Code Playgroud)

python datetime timedelta

9
推荐指数
1
解决办法
6853
查看次数

如何创建sql查询以搜索部分匹配?

我在db中有一组项目.每个项目item都有一个name and a description.我需要实现一个search设施,它接受一些关键字并返回不同的项目,这些项目中至少有一个关键字与名称or描述中的单词匹配.

例如我在db中有三个项目

1.item1 : 
    name : magic marker
    description: a writing device which makes erasable marks    on whiteboard

2.item2:
    name: pall mall cigarettes
    description: cigarette named after a street in london

3.item3:
    name: XPigment Liner
    description: for writing and drawing
Run Code Online (Sandbox Code Playgroud)

使用关键字"书写"的搜索应该返回魔术标记和XPigment Liner

使用关键字'mall'进行搜索应返回第二项

我尝试单独使用LIKE关键字和IN关键字,..要使IN关键字起作用,查询必须是

SELECT DISTINCT FROM mytable WHERE name IN ('pall mall cigarettes')
Run Code Online (Sandbox Code Playgroud)

SELECT DISTINCT FROM mytable WHERE name IN ('mall') …
Run Code Online (Sandbox Code Playgroud)

sql keyword

8
推荐指数
2
解决办法
9万
查看次数

使用playframework实现购物车的建议

我正在学习使用playframework编写代码来实现webstore销售物品.我已经Admin使用crud和modules实现了该区域secure.现在,我想创建shopping cart一个用户可以添加项目并继续结帐的项目.

我的电子商务的知识是最小的,但我已经通过一些教科书,其实现使用购物车和一些网上商店的功能了servlets.在书籍,使用的车保持SetCartItemS,每一个包含的实例Productquantity.之后,该用户将商品添加到购物车,购物车存储在user session.

因此,只要用户进入购物车详细信息页面,它就会显示所有添加的项目.只有当会话被清除时(由于服务器中定义的会话超时或订单下达时),CartItems 才会从这个ShoppingCart.

我想,我可以在playframework中使用Cache来完成上述操作.将CartItem添加到ShoppingCart实例后.我可以

shopcart.add(mycartItem);
Cache.set(session.getId(), shopcart);
..
Run Code Online (Sandbox Code Playgroud)

然后,在另一个页面中,我可以检索购物车及其内容,处理它们并清理购物车.

ShopCart cart = Cache.get(session.getId(),ShopCart.class);
Set<CartItem> items = cart.getCartItems();
processOrder(items,userinfo);
...
cart.clearItems();
Run Code Online (Sandbox Code Playgroud)

这是正确的方法吗?如果我的想法不正确,请帮我提出建议.

java shopping-cart playframework

8
推荐指数
1
解决办法
2911
查看次数

如何访问playframework模板中的Enum字段

我有一个Enum具有某些字段,我需要在我的play1.2.4模板中访问

public Enum WORKER{
   FARMER,SMITH,GARDENER
}
Run Code Online (Sandbox Code Playgroud)

假设我需要检查模板中的"人"变量是否是农民,史密斯或园丁,我该怎么办?

#{if person.Type==WORKER.FARMER}
   ...do something...
#{/if}
Run Code Online (Sandbox Code Playgroud)

我来了

NullPointerException : Cannot get property 'FARMER' on null object.
Run Code Online (Sandbox Code Playgroud)

因此,模板不知道Enum WORKER.因为无法为Enum创建新实例,我应该如何使Enum可用于模板?

java enums playframework playframework-1.x

6
推荐指数
1
解决办法
2734
查看次数

使用排序的内置函数对python dict的值进行排序

我需要得到一个dict的有序表示,按值的降序排序(dict中的最大值,首先显示).

样品:

mydict={u'jon':30,u'den':26,u'rob':42,u'jaime':31}
Run Code Online (Sandbox Code Playgroud)

我需要向他们展示

rob=42
jaime=31
jon=30
den=28
Run Code Online (Sandbox Code Playgroud)

我试过这个

from operator import itemgetter
sortedvalues=sorted(mydict,key=itemgetter(1))
Run Code Online (Sandbox Code Playgroud)

当我打印列表时,我得到了

[u'jaime', u'den', u'rob', u'jon']
Run Code Online (Sandbox Code Playgroud)

这个清单是无序的!我错过了有关排序内置的用法吗?还是我错误地使用了itemgetter?

python sorting

6
推荐指数
2
解决办法
2043
查看次数

登录playframework后的页面

在我的游戏中!应用程序,我编写了控制器.安全性为

class Security extends controllers.Secure.Security {
...
   static void onDisconnected() {       
       Application.index();
   }
   static void onAuthenticated() {
      User user = User.find("byEmail",Security.connected()).first();
      if(user.isAdmin()) {
         Admin.index();
      }else {
          System.out.println("onAuthenticated()::user not admin");
   }
}
Run Code Online (Sandbox Code Playgroud)

我已将路线设定为

GET     /admin/?              Admin.index
*       /admin                module:crud
GET     /                    Application.index
Run Code Online (Sandbox Code Playgroud)

当我在页面上说pageX并点击登录链接时,会出现登录表单,我可以登录.如果我以管理员身份登录,则会转到Admin.index(),从而转到Admin/index.html view.So远非常好

但是,当我在pageX上,并点击登录链接时,我希望回到pageX.Instead,调用Application.index()方法,我被带到Application.index.html ..这是预期的行为?登录后我需要做什么才能到达pageX?

更新:

我尝试使用安全控制器中的@Before将URL存储在flash中

class Security extends controllers.Secure.Security {
   @Before
   static void storeCurrentUrl() {
      System.out.println("storeCurrentUrl()");
      flash.put("url", "GET".equals(request.method) ? request.url : "/");
   }
   static boolean authenticate(String username, String password) {
   ...
   }

   static void onAuthenticated() {
      ...
      String …
Run Code Online (Sandbox Code Playgroud)

java login page-flow playframework

5
推荐指数
1
解决办法
4199
查看次数

在playframework中级联删除 - 如何为实体建模

在使用时创建在线商店应用程序时play-1.2.4,我遇到了jpa的一些问题.我想使用CRUD modulein play 提供管理区域.在这里,管理员用户可以创建/编辑或删除应用程序中的实体(如Customers,Orders) ,Item等等).

A Customer可以创建Orders.Each Order将有一组CartItems .当Order删除时,CartItem必须删除相应的s .当a Customer被删除时,他的所有订单也必须被删除.我想我可以通过设置cascade属性来获得jpa注释.

我这样建模了

Customer.java

@Entity
public class Customer extends Model {
    @Email
    @Required
    public String email;
    ...
    @OneToMany(mappedBy="customer", cascade=CascadeType.ALL)
    public List<Order> orders;
    @OneToOne
    public PayMethod currentPayment;
    ...
}
Run Code Online (Sandbox Code Playgroud)

Order.java

@Entity
public class Order extends Model {  
    @OneToMany( cascade=CascadeType.ALL,orphanRemoval=true,fetch=FetchType.EAGER)
    public Set<CartItem> cartItems;

    @ManyToOne
    public Customer customer;
    @ManyToOne
    public PayMethod paymentMethod;
    ... …
Run Code Online (Sandbox Code Playgroud)

java jpa cascade playframework

5
推荐指数
1
解决办法
4794
查看次数

使用css创建水平彩色条带

在我的网页中,我需要在徽标文本下方放置一些宽度为水平的彩色条带.

我试着用这个css:

#colorstrip{
    width: 100%; height: 2px;
    border-style: solid;
    border-color: white;
}
Run Code Online (Sandbox Code Playgroud)

用这个HTML:

<span id="logo"> My site</span>
<div id="colorstrip"/>
Run Code Online (Sandbox Code Playgroud)

但它显示了一个白色矩形.如何使它成为一个填充的?或者我是否必须使用图像(可能是白色方块)并将其作为重复的div的背景?

使用div来显示这个细条是正确的方法吗?你有什么建议?

html css

1
推荐指数
2
解决办法
5万
查看次数

tomcat中的PersistenceException(EntityManager没有持久性提供程序)

我正在尝试部署我在网上找到的网络应用程序,它应该充当jpql shell webapp演示.尝试在tomcat中部署和运行它,我创建了一个persistence.xml(在src目录中),如下所示

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
  <persistence-unit name="pu" transaction-type="RESOURCE_LOCAL">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <class>jpql.Employee</class>
    <class>jpql.Job</class>
    <exclude-unlisted-classes>true</exclude-unlisted-classes>
    <properties>
      <property name="hibernate.connection.url" value="jdbc:postgresql://localhost/jpqldemodb"/>
      <property name="hibernate.connection.username" value="damon"/>
      <property name="hibernate.connection.password" value="damon"/>
      <property name="hibernate.connection.driver_class" value="org.postgresql.Driver"/>
      <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
    </properties>
  </persistence-unit>
</persistence>
Run Code Online (Sandbox Code Playgroud)

和EntityManager util(从另一个站点借来)

package jpql.utils;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import org.apache.log4j.Logger;

public class EntityManagerUtil {
    static Logger logger = Logger.getLogger(EntityManagerUtil.class);
    private static EntityManager em=null;

    public static EntityManager getInstance() {
      if ( em == null) {
        EntityManagerFactory emf; …
Run Code Online (Sandbox Code Playgroud)

java hibernate jpa

0
推荐指数
1
解决办法
5593
查看次数