Exception Type: OperationalError at /
Exception Value: (1049, "Unknown database 'database'")
Run Code Online (Sandbox Code Playgroud)
目前我试过这个:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'database', # Or path to database file if using sqlite3.
'USER': 'root', # Not used with sqlite3.
'PASSWORD': '****', # Not used with sqlite3.
'HOST': '/var/lib/mysql/database/', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '80', # Set to empty string for default. Not used with sqlite3.
}
}
Run Code Online (Sandbox Code Playgroud)
如果我没有指定主机,我会收到此错误: …
我已经尝试部署2天了,即使我阅读了许多文章,StackOverflow问题和Digital Ocean Tutorials,似乎也无法使它正常工作。
我的主要教程就是这个教程:https : //www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-16-04?comment = 47694#create-and-configure一个新的Django项目
当我绑定我的gunicorn文件(请参见下面的命令)并转到my_ip_address:8001时,一切正常
gunicorn --bind 0.0.0.0:8001 vp.wsgi:application
Run Code Online (Sandbox Code Playgroud)
但是在我创建和编辑我的gunicorn.service文件的部分:
sudo nano /etc/systemd/system/gunicorn.service
[Unit]
Description=gunicorn daemon
After=network.target
[Service]
User=tony
Group=www-data
WorkingDirectory=/home/tony/vp/vp/
ExecStart=/home/tony/vp/vpenv/bin/gunicorn --workers 3 --bind unix:/home/tony/vp/vp/vp.sock vp.wsgi:application
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
还有我的nginx文件(出于隐私目的,我用my_ip_address替换了我的IP地址)
sudo nano /etc/nginx/sites-available/vp
server {
listen 80;
server_name my_ip_address;
location = /facivon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/tony/vp;
}
location / {
include proxy_params;
proxy_pass http://unix:/home/tony/vp/vp/vp.sock;
}
}
Run Code Online (Sandbox Code Playgroud)
我收到错误的网关502错误。
即使重新加载了所有内容:
(vpenv) ~/vp/vp$ …Run Code Online (Sandbox Code Playgroud) 我在使用 Django-import-export 时面临当前问题:
在我的 admin.py 中:
class QuestionResource(resources.ModelResource):
category = fields.Field(
column_name='category',
attribute='category',
widget=ForeignKeyWidget(Category, 'category')
)
class Meta:
model = Question
fields = ['id', 'question', 'category', 'answer',]
# exclude = ('created', 'modified', 'verified', 'count', 'user_created')
# PREVIOUS THINGS I TRIED:
# def _post_import(model, **kwargs):
# query = self.fields['category']
# category = Question.objects.get_or_create(category=query)
# return category
# def before_import(self, dataset, dry_run, *args, **kwargs):
# query = self.fields['category']
# for q in query:
# Category.objects.get_or_create(category=q)
# def before_import_row(row, *args, **kwargs):
# category …Run Code Online (Sandbox Code Playgroud) 我在 digitalocean 上有一个 8GB 的 Droplet。我们今天推出了我们的网站,流量非常大,大约有 3000 名并发用户。
我尝试提高并发连接数(根据 apache2buddy 的建议),但建议的 MaxRequestWorkers 为 482。以下是文件:
<IfModule mpm_prefork_module>
ServerLimit 482
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxRequestWorkers 482
MaxConnectionsPerChild 0
</IfModule>
Run Code Online (Sandbox Code Playgroud)
Apache2 使用 mdm_prefork ,我们已经了解到使用mdm_worker会更好。
所以我尝试禁用 mdm_prefork,以便我可以启用 mdm_worker:
a2dismod mpm_prefork
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
ERROR: The following modules depend on mpm_prefork and need to be disabled first: php7.3
Run Code Online (Sandbox Code Playgroud)
我需要做什么才能启用 mpm_worker?
我有一个包含“推送”字段的Entry模型,我希望每个用户“推送”一次(投票)。我搜索了,找不到我需要的东西。
这是我的模型:
class Entry(models.Model):
title = models.CharField(max_length = 100)
link = models.URLField(verify_exists=False)
posted = models.DateTimeField(auto_now_add=True)
submitter = models.ForeignKey(User, blank=True, null=True)
pushes = models.PositiveIntegerField(default=0)
def __unicode__(self):
return self.title + " - " + unicode(self.submitter)
Run Code Online (Sandbox Code Playgroud)
这是我的首页视图:
def homepage(request):
entries = Entry.objects.all().order_by('-posted')
paginator = Paginator(entries, 30)
try: page = int(request.GET.get('page', '1'))
except ValueError: page = 1
try:
entries = paginator.page(page)
except (InvalidPage, EmptyPage):
entries = paginator.page(paginator.num_pages)
return render_to_response('index.html', {'entries' : entries},
context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
我该如何做到使用户不能多次按下?
我必须创建一个新功能吗?
我应该更改模型中的某些内容吗?
我尝试运行makemigrations并在迁移后我不断收到此错误:
ValueError: Related model 'users.UserProfile' cannot be resolved
Run Code Online (Sandbox Code Playgroud)
我想要做的是将UserProfile模型链接到Django自己的用户模型:
from django.db import models
from django.contrib.auth.models import User
class UserProfile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
website = models.URLField(blank=True)
bio = models.CharField(max_length=250, blank=True)
full_name = models.CharField(max_length=250, blank=True)
Run Code Online (Sandbox Code Playgroud)
" 竞赛 "模型(如下面我已安装的应用程序中所示)也使用用户模型,没有任何错误.
我安装的应用程序如下所示:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'users',
'social.apps.django_app.default',
'crispy_forms',
'pages',
'contests',
]
Run Code Online (Sandbox Code Playgroud)
我的迁移文件0001_initial.py如下:
# -*- coding: utf-8 -*-
# Generated by Django 1.10.3 on 2016-12-30 15:45
from __future__ import unicode_literals
from …Run Code Online (Sandbox Code Playgroud) django ×5
python ×4
amazon-ec2 ×1
apache2 ×1
apache2.4 ×1
deployment ×1
django-1.10 ×1
excel ×1
gunicorn ×1
mysql ×1
nginx ×1
postgresql ×1
scalability ×1
virtualenv ×1
voting ×1