所以有一次在我的第一次迁移之后进行了几次迁移,我决定将这些字段包括在内:
created = models.DateTimeField(auto_now_add=True)
modified = models.DateTimeField(auto_now=True)
Run Code Online (Sandbox Code Playgroud)
进入我的一个模特.我makemigrations给它的时候
You are trying to add a non-nullable field 'created' to episode without a default; we can't do that (the database needs
something to populate existing rows).
所以我把它改成了
created = models.DateTimeField(auto_now_add=True, default=datetime.now)
Run Code Online (Sandbox Code Playgroud)
在makemigrations再次尝试之后,它说at_api.Episode.modified: (fields.E160) The options auto_now, auto_now_add, and default are mutually exclusive. Only one
of these options may be present.
好的,所以我继续前进并删除了auto_now_add
created = models.DateTimeField(default=datetime.now)
Run Code Online (Sandbox Code Playgroud)
我现在可以makemigrations没有任何问题.然后我删除default=datetime.now并替换它auto_now_add=True,并再次迁移没有任何问题.但是,我不禁觉得这可能不是最好的做事方式.我觉得项目后期可能出现问题.
我对Scrapy的体验是有限的,每次我使用它时,它总是通过终端的命令.如何从我的django模板中获取我的表单数据(要删除的URL)以与scrapy进行通信以开始进行刮擦?到目前为止,我只想到从django的视图中获取表单的返回数据,然后尝试进入scrapy目录中的spider.py,将表单数据的url添加到spider的start_urls中.从那里开始,我真的不知道如何触发实际的爬行,因为我习惯于通过我的终端使用"scrapy crawl dmoz"等命令严格执行此操作.谢谢.
微小的编辑:刚刚发现了scrapyd ...我想我可能正朝着正确的方向前进.
我在我的一个ubuntu虚拟机中编写了一个sh脚本,但是当我尝试在其他虚拟机中运行它时,它不起作用.两个VM应该是相同的.随着bash --version两个VM与回复:
GNU bash, version 4.3.11(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Run Code Online (Sandbox Code Playgroud)
有lsb_release -a,也回复:
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.3 LTS
Release: 14.04
Codename: trusty
Run Code Online (Sandbox Code Playgroud)
我的security_steps.sh脚本看起来像这样:
#!/bin/sh
set -e
if ! [ -f svn_up_action.sh ]; then …Run Code Online (Sandbox Code Playgroud) 我正在使用Django Rest Framework构建一个API,我希望有一个允许用户通过查询进行搜索的功能.目前,
http://127.0.0.1:8000/api/v1/species/?name=human收益率:
{
count: 3,
next: null,
previous: null,
results: [
{
id: 1,
name: "Humanoid",
characters: [
{
id: 46,
name: "Doctor Princess"
}
]
},
{
id: 3,
name: "Inhuman (overtime)",
characters: [
]
},
{
id: 4,
name: "Human",
characters: [
{
id: 47,
name: "Abraham Lincoln"
}
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
它与我想要的非常接近,但并不完全相同.我希望它能使内部的第一个对象results成为id4的对象,因为该name字段与搜索查询最相关(?name = human).(我并不关心其余部分是如何排序的.)目前似乎是按升序对结果进行排序id.有人知道处理这个的好方法吗?谢谢!
这是我的api文件夹的views.py.
class SpeciesFilter(django_filters.FilterSet):
name = django_filters.CharFilter(name="name", lookup_type=("icontains"))
class Meta:
model = …Run Code Online (Sandbox Code Playgroud) 我正在尝试将 django-rest-swagger ui 添加到我的 api 中,但ImportError: No module named rest_framework_swagger即使我已经完成了,我还是得到了pip install django-rest-swagger。我还可以通过pip list. 我也尝试过python manage.py syncdb,但并没有真正做任何事情。有人对我有什么建议吗?谢谢。
INSTALLED_APPS = (
'rest_framework',
'at_api',
'rest_framework_swagger',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
)
Run Code Online (Sandbox Code Playgroud)
编辑:系统路径信息
>>> import sys
>>> for p in sys.path: print p
...
C:\Users\Andrew\.virtualenvs\adventure_time\lib\site-packages\psycopg2-2.5.3-py2.7-win-amd64.egg
C:\Users\Andrew\.virtualenvs\adventure_time\lib\site-packages\six-1.8.0-py2.7.egg
C:\Users\Andrew\.virtualenvs\adventure_time\lib\site-packages\cssselect-0.9.1-py2.7.egg
C:\Users\Andrew\.virtualenvs\adventure_time\lib\site-packages\pyopenssl-0.14-py2.7.egg
C:\Users\Andrew\.virtualenvs\adventure_time\lib\site-packages\lxml-3.4.1-py2.7-win-amd64.egg
C:\Users\Andrew\.virtualenvs\adventure_time\lib\site-packages\queuelib-1.2.2-py2.7.egg
C:\Users\Andrew\.virtualenvs\adventure_time\lib\site-packages\w3lib-1.10.0-py2.7.egg
C:\Users\Andrew\.virtualenvs\adventure_time\lib\site-packages\twisted-14.0.2-py2.7-win-amd64.egg
C:\Users\Andrew\.virtualenvs\adventure_time\lib\site-packages\zope.interface-4.1.1-py2.7-win-amd64.egg
C:\Users\Andrew\.virtualenvs\adventure_time\lib\site-packages\zipline-0.7.0-py2.7.egg
C:\Users\Andrew\.virtualenvs\adventure_time\lib\site-packages\pandas-0.15.1-py2.7-win-amd64.egg
C:\Users\Andrew\.virtualenvs\adventure_time\lib\site-packages\pywin32-214-py2.7-win-amd64.egg
C:\Users\Andrew\.virtualenvs\adventure_time\lib\site-packages\pyyaml-3.11-py2.7-win-amd64.egg
C:\windows\system32\python27.zip
C:\Users\Andrew\.virtualenvs\adventure_time\DLLs
C:\Users\Andrew\.virtualenvs\adventure_time\lib
C:\Users\Andrew\.virtualenvs\adventure_time\lib\plat-win
C:\Users\Andrew\.virtualenvs\adventure_time\lib\lib-tk
C:\Users\Andrew\.virtualenvs\adventure_time\Scripts
C:\Python27\Lib
C:\Python27\DLLs
C:\Python27\Lib\lib-tk
C:\Users\Andrew\.virtualenvs\adventure_time
C:\Users\Andrew\.virtualenvs\adventure_time\lib\site-packages
>>>
Run Code Online (Sandbox Code Playgroud)
追溯:
Traceback (most recent call last): …Run Code Online (Sandbox Code Playgroud) 我一直在尝试将一些嵌套文本与 Scrapy 中的 xpath 连接在一起。我认为它使用 xpath 1.0?我看了一堆其他帖子,但似乎没有什么是我想要的
这是 html 的特定部分(实际页面http://adventuretime.wikia.com/wiki/List_of_episodes):
<tr>
<td colspan="5" style="border-bottom: #BCD9E3 3px solid">
Finn and Princess Bubblegum must protect the <a href="/wiki/Candy_Kingdom" title="Candy Kingdom">Candy Kingdom</a> from a horde of candy zombies they accidentally created.
</td>
</tr>
<tr>
<td colspan="5" style="border-bottom: #BCD9E3 3px solid">
Finn must travel to <a href="/wiki/Lumpy_Space" title="Lumpy Space">Lumpy Space</a> to find a cure that will save Jake, who was accidentally bitten by <a href="/wiki/Lumpy_Space_Princess" title="Lumpy Space Princess">Lumpy Space Princess</a> at Princess …Run Code Online (Sandbox Code Playgroud) 关于heroku的最接近的教程是我正在做的是节点教程,但这对我的目的来说并不完全正确.我有一个angularfire项目,没有节点的东西.我该如何处理?也许我甚至不需要heroku?什么是让我的东西在线更好的方法?谢谢!
我有一个从Firebase获取数据的工厂,我希望我的控制器能够访问它.但是,当我在我的控制器中调试数据时,它不是我期望它的数组[10],而是添加了键0,1,2,... 10,$$的数组, $$错误,$$移动,......等等.但是,当我跳过使用工厂,并在我的firebase ref中直接在我的控制器中使用$ asArray()方法时,它很好地显示为数组[10]
在我的工厂,这就是它的样子......
var listingsref = new Firebase("https://something.firebaseio.com");
var sync2 = $firebase(listingsref);
var products = sync2.$asArray();
factory.getProducts = function(){
return products;
};
Run Code Online (Sandbox Code Playgroud)
调节器
$scope.products = marketFactory.getProducts();
Run Code Online (Sandbox Code Playgroud)
我的控制器中的console.log($ scope.products)应该是Array [10],但它是一个带有数据的数组+更多的$$方法.有谁知道发生了什么?谢谢
编辑:完整的工厂文件
(function(){
var marketFactory = function($firebase){
var listingsref = new Firebase("https://something.firebaseio.com");
var sync2 = $firebase(listingsref);
var products = sync2.$asArray();
var factory = {};
factory.getProducts = function(){
console.log(products);
return products;
};
factory.getProduct = function(productId){
for(var x = 0; x<products.length ;x++){
if(productId == products[x].id){
return {
product:products[x],
dataPlace:x
};
} …Run Code Online (Sandbox Code Playgroud) 嗨,我正在使用python 的scrapy 从站点上刮下一张表,所以我必须使用scrapy 的Selector xpath 来执行此操作。我正在考虑获取表格的所有数据内容,然后将其与表格标题一起压缩 (zip()),以便在我的最终数据中,表格的每个数据内容都与代表它的标签相匹配。但是,我注意到表的某些部分没有值.. 就像 in 而不是
<td>24</td>
Run Code Online (Sandbox Code Playgroud)
只是
<td></td>
Run Code Online (Sandbox Code Playgroud)
当我抓取时,scrapy 会跳过空标签并获取下一个值。这搞砸了我要压缩的方式,因为由于缺少值,所有东西都可能向左移动一个或多个。那么..有没有办法让scrapy的选择器xpath返回某种空标识符,那里缺少某些东西,以便我可以解释丢失的信息?或者,也许有更好的方法来解决我的问题,以防止发生此问题?谢谢!
编辑:xpath 看起来像......
Selector(response).xpath("tbody/tr/td/text()").extract()
Run Code Online (Sandbox Code Playgroud) Ng-click触发ng-show与之前的相反.当ng-show附加到前两个项目中的p标签时,它可以正常工作.当ng-show附加到ul时,事情开始变得越来越糟糕.如果它是第一次点击页面,我可以像一次点击错误的触发器,点击其他东西......它将停止工作.这里发生了什么?谢谢.
(function(){
var faqApp = angular.module('faqApp',[]);
var faqController = function($scope){
$scope.paid_info = false;
$scope.schedule_info = false;
$scope.qualifications_info = false;
$scope.paid = function(){
$scope.paid_info = !$scope.paid_info;
$scope.schedule_info = false;
$scope.qualifications = false;
};
$scope.schedule = function(){
$scope.schedule_info = !$scope.schedule_info;
$scope.paid_info = false;
$scope.qualifications_info = false;
};
$scope.qualifications = function(){
console.log("YAAYA");
$scope.qualifications_info = !$scope.qualifications_info;
$scope.paid_info = false;
$scope.schedule_info = false;
};
};
faqController.$inject = ['$scope'];
angular.module('faqApp').controller('faqController', faqController);
}());Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<!DOCTYPE html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.14/angular.min.js"></script>
<meta charset="utf-8">
<title>JS Bin</title>
</head>
<body> …Run Code Online (Sandbox Code Playgroud)