我有很多具有投票功能的模型,所以我创建了一个这样的结构:
class Voteable(models.Model):
likes_balance = models.IntegerField(default=0, editable=False)
votes = models.ManyToManyField(User, blank=True, editable=False)
likes = models.ManyToManyField(User, blank=True, editable=False)
class Meta:
abstract = True
class Item(Voteable):
title = models.CharField(max_length=20, db_index=True)
description = models.TextField(max_length=1000)
contact_user = models.ForeignKey(User, null=True, blank=True)
class Meta:
abstract = True
class Movie(Item):
cover = models.ImageField(upload_to='images/covers/')
class Car(Item):
seller = models.CharField(max_length=50)
Run Code Online (Sandbox Code Playgroud)
当我尝试使用"python manage.py syncdb"创建表时,我收到错误消息:
m2m字段的访问者'喜欢'与相关字段'User.movie_set'的冲突.将related_name参数添加到"likes"的定义中.
因为我在Item类中有更多的字段,所以不想将它们全部复制到所有子类,只是设置像错误建议的related_name.
有什么建议怎么处理吗?
在尝试执行以下代码时:
Colour selectedColour = Colour.WHITE;
myWritableCellFormat.setBackground(selectedColour);
Run Code Online (Sandbox Code Playgroud)
我得到了这个例外:
jxl.write.biff.JxlWriteException: Attempt to modify a referenced format
Run Code Online (Sandbox Code Playgroud)
为什么是这样?作为参考,我在这两行之前使用了相同的对象来编写具有另一种颜色的单元格.这有什么重要意义吗?
我试图让我的代码忽略它正在阅读的一些行.我的SSCE因此是:
public class testRegex {
private static final String DELETE_REGEX = "\\{\"delete"; //escape the '{', escape the ' " '
private static final String JSON_FILE_NAME = "example";
public static void main(String[] args){
String line = null;
try{
BufferedReader buff = new BufferedReader (new FileReader(JSON_FILE_NAME + ".json"));
line = buff.readLine buff.close();
}catch (FileNotFoundException e){e.printStackTrace();}
catch (IOException e){e.printStackTrace();}
String line=buff.readLine();
System.out.println(line.contains(DELETE_REGEX));
}
}
Run Code Online (Sandbox Code Playgroud)
我的文件只包含以下行:
{"delete":{"status":{"user_id_str":"123456789","user_id":123456789,"id_str":"987654321","id":987654321}}}
但是这打印出错......我的正则表达式错了吗?我{
通过双重逃避匹配,\\{
因为它建议在这里.
字符串文字
"\(hello\)"
是非法的,并导致编译时错误; 为了匹配字符串(hello),"\\(hello\\)"
必须使用字符串文字.
我逃避了"
使用\" …
我正在尝试使用JExcel重新排序一些Excel列.我还需要找到对其他单元格的引用,然后重新映射它们以引用正确的单元格.我觉得我已经完成了很多艰苦的工作,但我遇到了绊脚石.
我在维基百科上找到了这个代码,与SO链接:
public static String toBase26(int number){
number = Math.abs(number);
String converted = "";
// Repeatedly divide the number by 26 and convert the
// remainder into the appropriate letter.
do
{
int remainder = number % 26;
converted = (char)(remainder + 'A') + converted;
number = (number - remainder) / 26;
} while (number > 0);
return converted;
}
Run Code Online (Sandbox Code Playgroud)
但当我将数字35输入其中时,会发生以下情况:
number
= 35remainder
= 9converted
= char(9 +'A')+""= J.number
=(35-9)/ 26 = 1我正在尝试在Eclipse Luna中设置tomcat 7.0.57来运行Web应用程序.我已将webapp添加到服务器,并尝试发布该服务但我收到此错误:
Dec 05, 2014 10:07:13 AM org.apache.tomcat.util.digester.Digester startElement
SEVERE: Begin event threw exception
java.lang.ClassNotFoundException: org.apache.catalina.startup.VersionLoggerListener
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.apache.tomcat.util.digester.ObjectCreateRule.begin(ObjectCreateRule.java:144)
at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1276)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:509)
at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:182)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1343)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2786)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:649)
at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1537)
at org.apache.catalina.startup.Catalina.load(Catalina.java:617)
at org.apache.catalina.startup.Catalina.load(Catalina.java:665)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)
Dec 05, 2014 10:07:13 AM …
Run Code Online (Sandbox Code Playgroud) 嗨我在角色应用程序上工作后,我收到一个错误,我不知道为什么它会来.
error : TypeError: a is not a function
at angular.min.js:70
at m.promise.then.u (angular.min.js:97)
at m.promise.then.u (angular.min.js:97)
at angular.min.js:98
at h.$get.h.$eval (angular.min.js:108)
at h.$get.h.$digest (angular.min.js:106)
at h.$get.h.$apply (angular.min.js:109)
at f (angular.min.js:71)
at F (angular.min.js:75)
at XMLHttpRequest.x.onreadystatechange (angular.min.js:76)(anonymous function) @ angular.min.js:89$get @ angular.min.js:66m.promise.then.u @ angular.min.js:97m.promise.then.u @ angular.min.js:97(anonymous function) @ angular.min.js:98$get.h.$eval @ angular.min.js:108$get.h.$digest @ angular.min.js:106$get.h.$apply @ angular.min.js:109f @ angular.min.js:71F @ angular.min.js:75x.onreadystatechange @ angular.min.js:76XMLHttpRequest.send (async)b @ angular.min.js:77z @ angular.min.js:72$get.f @ angular.min.js:70m.promise.then.u @ angular.min.js:97m.promise.then.u @ angular.min.js:97(anonymous function) @ angular.min.js:98$get.h.$eval @ angular.min.js:108$get.h.$digest @ angular.min.js:106$get.h.$apply @ …
Run Code Online (Sandbox Code Playgroud) 在以下代码中:
class Test {
public static void main(String [] args) {
printAll(args);
}
public static void printAll(String[] lines) {
for(int i=0;i<lines.length;i++){
System.out.println(lines[i]);
Thread.currentThread().sleep(1000);
}
}
}
Run Code Online (Sandbox Code Playgroud)
将数组行中的每个String输出:
我正在学习 React JavaScript 库。我想创建一个具有以下布局的简单网络应用程序:菜单+子菜单+内容。我使用react 15.0.2、react-router 2.4.0、babel 6.5.2和webpack 1.13.0。
我能够创建菜单+内容布局,但我不知道添加子菜单部分的最佳实践是什么。
我的应用程序如下所示:
Home ~ About ~ Contact ~ Profile
content...
Run Code Online (Sandbox Code Playgroud)
我想在“配置文件”菜单项下添加一个子菜单,但前 3 个菜单项没有子菜单。因此,如果我单击“关于和联系”链接,那么我想在主菜单栏下看到正确的内容。如果我单击“个人资料”链接,则需要显示一个子菜单。单击菜单+子菜单对下需要显示内容的子菜单项:
Home ~ About ~ Contact ~ Profile
Profile-Submenu 1 ~ Profile-Submenu 2 ~ ...
content...
Run Code Online (Sandbox Code Playgroud)
应用程序.js
ReactDom.render(
<Router>
<Route component={MainLayout}>
<Route path="/" component={Home} />
<Route path="home" component={Home} />
<Route path="about" component={About} />
<Route path="contact" component={Contact} />
<Route path="profile" component={Profile} />
</Route>
</Router>,
document.getElementById('root')
);
Run Code Online (Sandbox Code Playgroud)
MainLajout.js
export default class MainLayout extends React.Component {
render() {
return (
<div>
<MainMenu /> …
Run Code Online (Sandbox Code Playgroud) 我正在使用 python 3.7 开发一个网络抓取应用程序。我正在使用 requests-html 来解析数据。到目前为止,我已经尝试了以下尝试使用渲染功能的代码(因为 fast.com 上的速度数据是通过 javascript 加载的)。
from requests_html import HTMLSession
quote_page = 'https://fast.com'
session = HTMLSession()
r = session.get(quote_page)
r.html.render()
extract_value = r.html.find('#speed-value', first=True)
print(extract_value.text)
Run Code Online (Sandbox Code Playgroud)
speed-value
是包含速度数据的 div 使用的 id 属性。
但它仍然将速度值打印为 0。
我可以将这两个块组合成一个:
编辑:除了Yacoby在回答中组合循环之外的任何其他方法.
for tag in soup.findAll(['script', 'form']):
tag.extract()
for tag in soup.findAll(id="footer"):
tag.extract()
Run Code Online (Sandbox Code Playgroud)
我也可以将多个块组合成一个:
for tag in soup.findAll(id="footer"):
tag.extract()
for tag in soup.findAll(id="content"):
tag.extract()
for tag in soup.findAll(id="links"):
tag.extract()
Run Code Online (Sandbox Code Playgroud)
或者可能有一些lambda表达式,我可以检查是否在数组或任何其他更简单的方法.
另外我如何找到属性类的标签,因为class是保留关键字:
编辑:这部分是由汤.findAll(attrs = {'class':'noprint'})解决的:
for tag in soup.findAll(class="noprint"):
tag.extract()
Run Code Online (Sandbox Code Playgroud) java ×4
python ×2
angularjs ×1
django ×1
eclipse ×1
exception ×1
javascript ×1
jxl ×1
python-3.x ×1
react-router ×1
reactjs ×1
regex ×1
thread-sleep ×1
tomcat ×1