小编Tom*_*ick的帖子

在spaCy中使用不同的word2vec训练数据

因此,当我使用该方法时,我想在spaCy中使用一些训练数据similarity().

我也想在这个页面上使用预先训练过的矢量.

但是这里的spaCy文档似乎缺乏,有谁知道如何做到这一点?

python nlp word2vec spacy

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

如何在 django 中使用 django-taggit 按标签过滤帖子

目前,我仍在学习 Django 并使用 Django 2.2 创建我的博客。但不知何故,当我使用 django-taggit 时出现错误。

如何通过标签过滤帖子?

我已阅读文档,但没有完全介绍如何将其实现到实际项目中。

这是我的代码:

我尝试了几种不同的方法,仍在 StackOverflow 中搜索,但仍然没有答案。

的结果与 的结果/blog/tag/post-tagged相同/blog。那么我该如何过滤它views.py呢?或者也许来自blog.html

所以结果/blog/tag/post-tagged仅来自标记的帖子。

这是我的代码:

models.py:

...

from taggit.managers import TaggableManager



"Post Model"
class Post(models.Model):
    author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
    slug = models.SlugField(max_length=100, null=True, blank=True, unique=True)
    title = models.CharField(max_length=200)

    tags = TaggableManager(blank=True)
...
Run Code Online (Sandbox Code Playgroud)

views.py:

def blogIndex(request):
    posts = Post.objects.all().order_by("-created_date")[0:4]
    context = {"posts": posts,}
    return render(request, 'blog.html',  context)



def Tagging(request, slug):

    tags = Tag.objects.filter(slug=slug)
    posts = Post.objects.all().order_by("-tags") …
Run Code Online (Sandbox Code Playgroud)

django django-templates django-models django-taggit

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

调用 WebSocket.close 时现有等待会发生什么

如果我打开 Starlette/FastAPI WebSocket,如果我从协程外部关闭 WebSocket,当前等待从客户端接收数据的协程会发生什么?是调用receive引发异常还是协程永远留在内存中,因为它永远不会收到任何东西?

from fastapi import FastAPI
from fastapi.websockets import WebSocket

app = FastAPI()

open_sockets = {}

@app.websocket('/connection/')
async def connection(websocket: WebSocket):
    await websocket.accept()

    id = await websocket.receive_json()['id']
    open_sockets[id] = websocket

    while True:
        data = await websocket.receive_json()

@app.post('/kill/{id}/')
async def kill(id=str):
    # What does this do to the above `await websocket.receive_json()`?
    await open_sockets[id].close()
    del open_sockets[id]
Run Code Online (Sandbox Code Playgroud)

python websocket python-asyncio starlette fastapi

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

如何在 Django REST Framework 中覆盖viewsets.ModelViewSet?

所以我的模型很简单

class Face(models.Model):
    uid = models.CharField(max_length=510, primary_key=True)
    photo = models.ImageField(upload_to='face_photos')
Run Code Online (Sandbox Code Playgroud)

串行器

class FaceSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = Face
        fields = ['uid', 'photo']
        extra_kwargs = {'uid': {'required': True}, 'photo': {'required': True}}
Run Code Online (Sandbox Code Playgroud)

视图应该是这样的

class FaceViewSet(viewsets.ModelViewSet):
    queryset = Face.objects.all()
    serializer_class = FaceSerializer
    permission_classes = [permissions.AllowAny]
Run Code Online (Sandbox Code Playgroud)

它有效。然而:

  1. 我不需要列出、更新、删除选项。仅 POST 和 GET。
  2. 我想在帖子中添加我的逻辑,因此如果uid存在则更新,否则创建......以及其他处理。
  3. 我想要在 POST 之后自定义响应。

我如何实现这一切而不失去提供的所有好处viewsets.ModelViewSet,例如验证、Rest API Web 视图中自动生成的 HTML 字段等?

python django django-rest-framework

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

Go中的自定义错误处理

我一直在阅读这篇博文,但我仍然不相信我确切地知道该怎么做以获得自定义错误,我可以从我的函数返回并处理它们之外的错误.

这就是我目前正在做的事情:

func doSomething() int {
    x := 0
    // Do something with x.
    ...
    if somethingBadHappened {
        return -1
    }
    if somethingElseBadHappened {
        return -2
    }
    return x
}
Run Code Online (Sandbox Code Playgroud)

这就是我想要做的事情:

func doSomething() int, ? {
    ...
    if somethingBadHappened {
        return ?, err
    }
    if somethingElseBadHappened {
        return ?, err2
    }
    return x, nil
}
Run Code Online (Sandbox Code Playgroud)

但我不确定如何以及如何用这些问题取代这些问号.

error-handling go

4
推荐指数
1
解决办法
1803
查看次数

Flask中的动态导航

我有一个非常简单的站点在Flask工作,所有这些都来自一个sqlite数据库.每个页面都作为一行存储在页面表中,其中包含路径,标题,内容等内容.

该结构是分层的,其中页面可以具有父级.因此,例如,'about'可能是一个页面,也可能有'about/something'和'about/cakes'.所以我想创建一个导航栏,其中包含指向父项为"/"(/是根页面)的所有链接的链接.此外,我还希望它还显示打开的页面和该页面的所有父母.

例如,如果我们在'about/cakes/muffins',除了总是显示的链接之外,我们还会看到"about/cakes"的链接,在某种程度上如此:

- About/
  - Cakes/
    - Muffins
    - Genoise
  - Pies/
- Stuff/
- Contact
- Legal
- Etc.[/]
Run Code Online (Sandbox Code Playgroud)

带有子项的带有斜杠的斜杠,而没有带有子项的页面则带有斜杠.

码:

@app.route('/')
def index():
    page = query_db('select * from page where path = "/"', one=True)
    return render_template('page.html', page=page, bread=[''])

@app.route('/<path>')
def page(path=None):
    page = query_db('select * from page where path = "%s"' % path, one=True)
    bread = Bread(path)
    return render_template('page.html', page=page, crumbs=bread.links)
Run Code Online (Sandbox Code Playgroud)

我已经觉得我因为在那里有两个功能而违反DRY.但是导航会进一步违反它,因为我还想在错误页面之类的东西上导航.

但我似乎无法找到一种特别的Flasky方法来做到这一点.有任何想法吗?

python flask

4
推荐指数
1
解决办法
7868
查看次数

Django聚合和跟随外键关系

楷模:

class Item(models.Model):
    name = models.CharField(max_length=100)
    # More stuff.
class Sale(models.Model):
    sale_date = models.DateField(auto_now_add=True)
    item = models.ForeignKey(Item)
    # More stuff.
Run Code Online (Sandbox Code Playgroud)

视图:

class TodaySales(ListView):
    # Stuff in here.
    def get_queryset(self):
        sales_today = Sale.objects.filter(sale_date=date.today())
        return sales_today.values('item').annotate(Count('item'))
Run Code Online (Sandbox Code Playgroud)

我得到这样的东西:

[{'item': 1, 'item__count': 2}, {'item': 2, 'item__count': 1}]
Run Code Online (Sandbox Code Playgroud)

这很好,但我真正想要的是能够获得有关该项目的额外信息,例如其名称等.但我似乎无法轻易做到这一点,因为我得到的只是项目ID,所以我不能在我的模板中执行,例如,{{item.name}}.

这样做有什么好方法吗?

python django

3
推荐指数
1
解决办法
3614
查看次数

使用PostgreSQL的Java内存不足

还有另一个可能相关的问题,但它没有答案,提问者没有澄清任何问题.

因此,当我在postgres中查看大型结果集时,java似乎会破坏.

我正在运行的查询试图获得大约5.5M行.基本上我正在尝试从Postgres db填充Neo4J数据库.

我不打算发布代码,除非有人问我认为这是非常通用的.这是异常输出:

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
    at java.lang.Class.getDeclaredFields0(Native Method)
    at java.lang.Class.privateGetDeclaredFields(Unknown Source)
    at java.lang.Class.getDeclaredField(Unknown Source)
    at java.util.concurrent.atomic.AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl.<init>(Unknown Source)
    at java.util.concurrent.atomic.AtomicReferenceFieldUpdater.newUpdater(Unknown Source)
    at java.sql.SQLException.<clinit>(Unknown Source)
        at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1818)
    at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:512)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:374)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:254)
    at sqlToGraph.SqlToGraph.main(SqlToGraph.java:52)
Run Code Online (Sandbox Code Playgroud)

第52行只是查询,如下所示:

rs = st.executeQuery("select player_lo, player_hi, total_hands_lo, total_hands_hi, (pc_lo + pc_hi)/2 as avg_pc from pair");
Run Code Online (Sandbox Code Playgroud)

所以我猜rs越来越大了.我想我可以使用LIMIT和OFFSET并运行程序几百次或让它在一个循环中重置rs,但我宁愿不必.

java memory postgresql

3
推荐指数
1
解决办法
4810
查看次数

Java Neo4J内存不足

这有点像:Neo4j OutOfMemory问题

但它已经过时了,据我所知,解决方案显然也是如此.

所以我试图插入大约100K节点与5.5M关系(我实际上减少了我的数据集,所以它现在更像是<100K节点,2.8M关系).

一段时间后,内存耗尽,我得到一个例外:

Exception in thread "GC-Monitor" java.lang.OutOfMemoryError: Java heap space
    at java.util.Arrays.copyOfRange(Unknown Source)
    at java.lang.String.<init>(Unknown Source)
    at java.lang.StringBuilder.toString(Unknown Source)
    at org.neo4j.kernel.impl.util.StringLogger$ActualStringLogger.logMessage(StringLogger.java:276)
    at org.neo4j.kernel.impl.cache.MeasureDoNothing.run(MeasureDoNothing.java:85)
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
    at java.util.LinkedList.addBefore(Unknown Source)
    at java.util.LinkedList.add(Unknown Source)
    at org.neo4j.kernel.impl.nioneo.store.IdGeneratorImpl.freeId(IdGeneratorImpl.java:291)
    at org.neo4j.kernel.impl.nioneo.store.CommonAbstractStore.freeId(CommonAbstractStore.java:382)
    at org.neo4j.kernel.impl.nioneo.xa.WriteTransaction.doRollback(WriteTransaction.java:315)
    at org.neo4j.kernel.impl.transaction.xaframework.XaTransaction.rollback(XaTransaction.java:278)
    at org.neo4j.kernel.impl.transaction.xaframework.XaResourceManager.rollback(XaResourceManager.java:518)
    at org.neo4j.kernel.impl.transaction.xaframework.XaResourceHelpImpl.rollback(XaResourceHelpImpl.java:111)
    at org.neo4j.kernel.impl.transaction.TransactionImpl.doRollback(TransactionImpl.java:558)
    at org.neo4j.kernel.impl.transaction.TxManager.rollback(TxManager.java:610)
    at org.neo4j.kernel.impl.transaction.TransactionImpl.rollback(TransactionImpl.java:129)
    at org.neo4j.kernel.TopLevelTransaction.finish(TopLevelTransaction.java:119)
    at sqlToGraph.SqlToGraph.main(SqlToGraph.java:81)
Run Code Online (Sandbox Code Playgroud)

我已经尝试将-Xmx1500m传递给java,这是我可以传递的限制,因为在它抱怨无法分配堆空间之前.它持续时间明显更长,但仍未完成.

这是(略微编辑)的代码:

/* Postgres query and setup stuff cut */
Transaction tx = graphDb.beginTx();
try {
    while …
Run Code Online (Sandbox Code Playgroud)

java memory neo4j

3
推荐指数
1
解决办法
2827
查看次数

Django Rest Framework:通过AJAX上传文件

我有一个视图和序列化器:

class UserView(generics.RetrieveUpdateAPIView):
    model = get_user_model()
    serializer_class = UserProfileSerializer
    permission_classes = (permissions.IsAuthenticated,)

    def get_object(self, *args, **kwargs):
        return self.request.user


class UserImageSerializer(serializers.ModelSerializer):
    class Meta:
        model = get_user_model()
        fields = ('image',)
Run Code Online (Sandbox Code Playgroud)

他们与httpie合作很好:

http -f put localhost:8000/accounts/api/image/ "Authorization: Token mytoken" image@~/Downloads/test.jpg
HTTP/1.0 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Date: Thu, 03 Sep 2015 22:50:33 GMT
Server: WSGIServer/0.2 CPython/3.4.3
Vary: Accept
X-Frame-Options: SAMEORIGIN

{
    "image": "http://localhost:8000/media/accounts/user_images/test.jpg"
}
Run Code Online (Sandbox Code Playgroud)

并且我的图片已上传并显示在管理员中.

现在我希望能够使用AJAX上传文件,但显然不想工作:

<form action="http://localhost:8000/accounts/api/image/"
      method="put"
      enctype="multipart/form-data">
    <input name="image" type="file">
    <input type="submit">
</form>

<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script> …
Run Code Online (Sandbox Code Playgroud)

django jquery html5 form-data django-rest-framework

3
推荐指数
1
解决办法
3043
查看次数

具有分页内容的Django站点地图

我不认为这实际上是可行的,但有没有干净整洁的方式来获取使用Django站点地图的分页内容?

例如,我的登录页面上有新闻,而且新闻帖子没有永久链接,使用它们的唯一方法是一次性分页5.

另一部分获得各种类型和其他标准的项目列表.

如果不可能,处理它的最佳方法是什么?不为这些网站地图提供网址?要获得分页页面的第一页?

我最好的想法是,我应该将登录页面作为网址,而不是打扰列表页面,因为它们并不是真正重要的搜索引擎.但如果这是最好的行动方案,我怎样才能从站点地图框架中提供到目标网页的链接?

欢迎任何建议.

sitemap django

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

Django上传到动态(ish)文件名

所以这是我的表格:

class AvatarUploadForm(forms.Form):
    avatar = forms.ImageField(label='Image', help_text='Maximum size: 100x100px')

    # Validation stuff down here.
Run Code Online (Sandbox Code Playgroud)

和型号:

class UserProfile(models.Model):
    user = models.OneToOneField(User)
    post_count = models.IntegerField(default=0)
    avatar = models.ImageField(null=True, blank=True, upload_to='images/avatars')
    # ...
Run Code Online (Sandbox Code Playgroud)

目前尚未完成的潜在错误观点:

@login_required
def user(request, username):
    user = get_object_or_404(User, username=username)
    profile = user.profile
    if request.user == user:
        if request.method == 'POST':
            form = AvatarUploadForm(request.POST, request.FILES)
            if form.is_valid():
                 profile.avatar = request.FILES['avatar']
                 profile.save()
                 return render_to_response('forum/user.html', {'profile_user': user, 'profile': profile},
                     context_instance=RequestContext(request))
            else:
                form = AvatarUploadForm()

            return render_to_response('forum/user.html', { 'profile_user': user, 'profile': profile, 'form': form …
Run Code Online (Sandbox Code Playgroud)

python django

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

类型错误:this.authenticate 不是一个函数

passport.authenticate将发布请求添加到注册路由后,我收到此错误。根据教程,一切看起来都很好,但在添加这行代码后,即使我的家庭路线也无法工作。护照有更新什么的吗?

这是我的 app.js:

require('dotenv').config();
const express=require("express");
const bodyParser=require("body-parser");
const ejs=require("ejs");
const mongoose=require("mongoose");
const session=require("express-session");
const passport=require("passport")
const passportLocalMongoose=require("passport-local-mongoose");

const app=express();
app.use(express.static("public"));
app.set('view engine','ejs');
app.use(bodyParser.urlencoded({extended:true}));
app.use(session({
  //js object with these properties
  secret:"our little secret",
  resave:false,
  saveUninitialized:false
}));
app.use(passport.initialize());
app.use(passport.session);

mongoose.connect("mongodb://localhost:27017/userDB",{useNewUrlParser:true, useUnifiedTopology: true,useCreateIndex:true});
//secure way to declare schema
const userSchema=new mongoose.Schema({
  email:String,
  password:String
});
//used to encrypt password basically this is the complete usage of encrypt package.also accessing environment variable

userSchema.plugin(passportLocalMongoose);

const User=new mongoose.model("User",userSchema);

passport.use(User.createStrategy());
passport.serializeUser(User.serializeUser());
passport.deserializeUser(User.deserializeUser());

app.get("/",function(req,res){
  res.render("home");
});
app.get("/login",function(req,res){ …
Run Code Online (Sandbox Code Playgroud)

authentication mongodb node.js express passport.js

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