我目前陷入困境,希望有人能提供见解。我可以使用以下命令通过Mac上的终端连接到我的远程Compute Engine VM:from django.db import models
from django.utils import timezone
from django.contrib.auth.models import User
from django.urls import reverse
class Blog(models.Model):
title=models.CharField(max_length=100)
content=models.TextField()
date_posted=models.DateTimeField(default=timezone.now)
author=models.ForeignKey(User, on_delete=models.CASCADE)
likes=models.ManyToManyField(User,related_name='likes',blank=True)
def __str__(self):
return self.title
def get_absolute_url(blog_id):
return reverse('post-detail',args=[str(blog_id)])
这样我就可以使用我的用户名和密码登录了,没有问题,请访问http://127.0.0.1:8888/phpmyadmin/
现在,当我尝试通过Python连接时,我并没有克服以下错误:class BlogsList(ListView):
model=Blog
template_name='blog/home.html'
context_object_name='blogs'
ordering=['-date_posted']
def post_detail(request, id):
post=get_object_or_404(Blog, id=id)
comments=comment.objects.filter(post=post).order_by('-id')
if request.method=="POST":
comment_form=CommentForm(request.POST)
if comment_form.is_valid():
content=request.POST.get('content')
new_comment=comment.objects.create(post=post, user=request.user, content=content)
new_comment.save()
return HttpResponseRedirect(Blog.get_absolute_url(blog_id=id))
else:
comment_form= CommentForm()
context={
'post':post,
'is_liked': post.likes.filter(id=request.user.id).exists(),
'comments':comments,
'comment_form':comment_form,
}
return render(request, 'blog/post_detail.html',context)
class PostCreateView(CreateView):
model=Blog
fields=['title','content']
def form_valid(self,form):
form.instance.author=self.request.user
return super().form_valid(form)
return HttpResponseRedirect(Blog.get_absolute_url())
这是Python代码:
ssh -N -L 8888:127.0.0.1:80 -i ~/.ssh/id_rsa bitnami@Remote-IP
我使用Bitnami在包含MySQL的Compute Engine上安装了Concrete5。 Bitnami's instructions没有提供任何清晰度。我正在使用Pipenv,并在本地安装了Python 3.6.5,它似乎是sshtunnel的最新兼容版本。