如何在 Debian 11 上安装 Ansible 版本 2.17.3?
我尝试标准方法:
- 团队
sudo apt install ansible - 通过安装 PPA 存储库
sudo apt-add-repository ppa:ansible/ansible
但在这两种情况下我都得到 Ansible 2.10 版本,但我需要 2.17.3 版本。
如何在 Debian 11 上安装 Ansible 版本 2.17.3?
我尝试标准方法:
sudo apt install ansiblesudo apt-add-repository ppa:ansible/ansible但在这两种情况下我都得到 Ansible 2.10 版本,但我需要 2.17.3 版本。
如何从已发布的存储库中删除文件/文件夹,尤其是从github?
我从本地存储库中删除了有关此主题的所有文章,而不是一篇如何从已发布的...中删除的文章
需要在模块的辅助功能中匹配模型对象的类型service。当然,简单的方法是
result = type(obj) is MyModel
MyModel但从模块导入models是service不可能的。我们必须在对象类型的文本输出中寻找匹配项:
result = 'MyModel' in str(type(t))
但是这种方法不是很可靠,因为。您正在寻找的文本不仅可以作为模型类。
我正在尝试使用正则表达式来实现这一点:
import re
result = re.match(r'.MyModel$', str(type(t))
例如,退房"<class '__main__.MyModel'>"
但
result = None
如何简洁地做到这一点?
在模型的描述中,其中一个字段表示ForeignKey - 对另一个对象的引用。value替换中的字段参数on_delete = models.SET(value)可以是值或对函数的引用。
在这种情况下,需要在该函数中设置一个参数self来计算绑定对象的数量。
数据模型是具有各种类型内容的网页。页面上的内容对象有一些顺序,通过单向绑定到前一个对象来实现。如果在编辑页面期间删除了任何对象,则其后面的对象必须附加到相对于被删除对象的前一个对象,即 基于单链表。
模型.py
class Page(models.Model):
""" Страница с контентом. """
title = models.CharField('Заголовок', max_length=256)
content = models.ManyToManyField('Content')
# ...
class Content(models.Model):
""" Модель контента страницы Page. """
# корневой объект контента на странице
is_root = models.BooleanField('Начальный?', default=False)
# ссылка на предыдущий контент страницы
previous = models.ForeignKey(
'self'
, null=True
, default=None
, related_name='next'
, on_delete=models.SET(get_previous(self))
)
# ...
这里的字段previous是对它自己的对象的引用——之前的内容。如果删除链接对象,则需要重新绑定。
我正在尝试使用get_previous( self)函数实现重新绑定,以便通过对象识别页面self并重新绑定其中的内容对象。
def get_previous(self):
""" Возвращает ссылку на другой предыдущий контент после удаления связанного. """
# ...
return pk
问题。
Django 无法识别self上下文中的参数- 。on_delete = get_previous(self)Unresolved reference 'self'
有什么方法可以绕过这个错误?
需要将具有类型全名的列转换为MS Excel表中Фамилия Имя Отчество的类型Фамилия И.О.。手动不是一个选项,因为该列中有数千个条目。
Excel中是否有任何工具可以进行这样的操作,例如,根据给定的模板将原始列的数据转换为新数据并将其放入新列中?
似乎与文本相关的exel公式解决起来很麻烦,并且使用VBA脚本暗示了自己,但我根本不知道语法......虽然,算法很简单 - 完整的行name 被解析成一个单词列表,然后从这个列表的转换元素形成一个新行并存储在一个新单元格中。理论上,您需要添加将源的初始单元格和结果列指定为参数的功能。
一个简单的情况 - 两个 JS 脚本在一个 HTML 页面上工作并处理一个常见的表单字段。在一个脚本将值写入字段后,另一个脚本中包含对该字段的引用的变量变为not defined.
为什么?这种行为是否正常,在这种情况下如何“标准”才可能不失去与 HTML 元素的意义和联系?
HTML:
<input type="hidden" id="loc-value" value="123" />
第一个 JS 脚本:
// использует значение поля "loc-value"
let loc_value = document.getElementById("loc-value").value; // в глобальной области видимости
...
第二个js脚本:
// меняет значение в поле "loc-value" после прочтения 1-м скриптом
document.getElementById('loc-value').value = '987';
...
在字段中写入值后,第一个脚本的变量变为未声明。范围不是原因。脚本彼此独立工作。
有必要实现一种访问数据库的方法以检索特定实例 - 具有特定编号的记录,例如,使用 Django 框架。目前为此目的使用了以下函数:
def get_instance(pk=None):
''' возвращает экземпляр модели из БД по ключю pk'''
instance = Entry.objects.filter(id=pk) // Entry - тип модели в БД, он же класс объектов
return instance[0] if instance.exists() else None
上面的函数使用指定的类名。
在这种情况下,如何引用数据库中的另一个模型,将其类型动态替换为该方法的参数?例如,使用 classType 参数,classType 的语法是什么?
def get_instance(classType, pk=None):
instance = classType.objects.filter(id=pk) // classType- тип модели в БД, он же класс объектов
return instance[0] if instance.exists() else None
Django 项目为不同的视图view使用通用的全局变量。例如,menuand函数listing使用全局变量NON_APPROVED:
NON_APPROVED = Entries.objects.filter(approved=False) # глобальная переменная QuerySet
...
def menu(request):
global NON_APPROVED
...
context = { 'NON_APPROVED_CNT': NON_APPROVED.counter() } # количество экземпляров
return context
def listing(request):
global NON_APPROVED
...
context = { 'NON_APPROVED': NON_APPROVED } # список QuerySet
context.update(menu(request))
return render(request, '/template.html', context)
在这种情况下,全局变量NON_APPROVED对所有用户具有相同的值。这种方法与每个用户的会话完全隔离的假设结合使用。事实证明,这个假设是错误的,全局变量对所有工作用户都是可见的。但是,当任何用户更改其值时,都会出现“竞争”情况。
NON_APPROVED并且对于不同的用户 ,这些值必须是唯一的。
为此目的,普遍接受的技术是什么,包括 Django 推荐的技术,或者简单地说,适合跨用户组或个人用户隔离全局变量的解决方案?
纯JS代码。要从服务器请求数据,使用XMLHttpRequest-object 调用 AJAX 函数,请求正常完成,状态为200 (ОК),并且所有数据都完美地传递、处理和呈现在 HTML 页面中。
Request = new XMLHttpRequest();
...
// конфигурирация запроса
r_method = "POST"
Request.open(r_method, "/url/", true);
// Проверяем, если требуется сделать POST-запрос
if (r_method.toLowerCase() == "post") {
// Если это POST-запрос устанавливаем заголовки:
Request.setRequestHeader("Content-Type", "application/json; charset=utf-8");
// Посылаем запрос
Request.send(JSON.stringify({'data': data}));
}
...
if (Request.readyState == 4) {
// Передаем управление обработчику пользователя
console.log("Статус запроса: " + Request.status + ", текст статуса:" + Request.statusText); // 200, ОК
r_handler(Request);
}
处理程序r_handler(Request)从请求中提取数据,并且XMLHttpRequest-object 本身不会进一步使用:
r_handler(Request) {
serv_response = eval('('+ Request.responseText +')');
...
// Request.abort(); // результат не меняется - признака конца загрузки HTML-страницы нет
}
但是,在同一个页面上,另一个 JS 脚本与一个构造相关联"window.onload",并且一直在等待页面完成加载。
console.log("Скрипт работает");
window.onload = function () {
console.log("Страница загружена");
}
毫无疑问,问题在于 HTML 页面正在等待加载结束,因为。没有构建window.onload一切正常。我尝试使用该方法接收数据后关闭连接.abort(),但没有任何改变。
在不使用带有 XMLHttpRequest 对象的脚本的情况下,页面上的加载完成标志可以正常工作!
这是什么情况,在这种情况下,到达加载HTML页面结束的标志是怎么回事?
标准情况是在 Django 中处理 HTML 表单。在表单中的模板中{% csrf_token %},它应该是注册的。任务是使用纯 JS 方法在 ajax 函数中实现一个简单的功能,即 通过对象XMLHttpRequest。要使此功能与 Django 一起使用,您需要XMLHttpRequest通过csrf_token. 令牌的值由 JS 脚本通过以下命令从站点的 cookie 中获取:
var csrfCookie = document.cookie.match(/csrftoken=([\w-]+)/);
并插入到 HTTP 请求标头中:
Request = new XMLHttpRequest();
Request.setRequestHeader("X-CSRFToken", csrfCookie);
令牌的值是正确的,但总是相同的,而模板中令牌的值总是不同的,应该是这样。因此,向服务器发送请求时会出现令牌不匹配错误。当然,令牌不匹配的问题现在已经解决了,但是通过hidden input在 Django 用于此目的的 HTML 表单中获取当前令牌的值的解决方法:
<input type="hidden" name="csrfmiddlewaretoken" value="CSRF-токен">
当前隐藏表单域token的值:
var csrfCookie = document.getElementsByName("csrfmiddlewaretoken")[0].value;
然而,原则上这个问题仍然悬而未决,因为不清楚为什么相同的 CSRF 令牌值存在于 cookie 中。顺便说一句,django 文档提供了一个 JS 脚本函数来获取这个值,并再次通过 cookie 处理。
对此有两个问题: 1.为什么在这种情况下,cookie 中的 CSRF 令牌的值不会随着 HTML 表单页面的每次更新而改变,而表单内部的令牌本身总是不同的。 2.实际上,当令牌的值可以从 cookie 或表单本身的隐藏输入中获取时,安全性在哪里?
有一个模板template使用menu操作员调用的子模式include
模板:
{% extends "app/layout.html" %}
{% block content %}
{% include 'app/menu.html' %} <!-- Вставка menu -->
... html-код ...
虽然“菜单”模板处理程序 URL 是在 URL 管理器中定义的,但它的引用仅由include.
从传递变量时,仅views显示staff与模型关联的变量user。
目前尚不清楚为什么会这样!而这种情况下如何通过模板实现变量的显示
menu呢?
网址.py:
...
url(r'^menu/$', app.views.menu, name='menu'),
...
视图.py:
def menu(request):
staff = request.user.staff
A = 888
B = 555
template = 'app/menu.html'
return render(request, template, {'staff': staff, 'A': A, 'B': B, })
菜单.html:
...
<ul class="nav navbar-nav">
<li> 1:{{staff}}</li>
<li> 2:{{A}}</li>
<li> 3:{{B}}</li>
</ul>
...
结果,我们只有变量的输出staff:
1:Сотрудники ОТС
2:
3:
需要根据以下条件从数据库中过滤对象: -entryType模型字段Entry必须包含值'МРТ'or 'МСКТ'。
我正在尝试这些设计:
VK = Entry.objects.filter(entryType__icontains=['МРТ', 'МСКТ',])
VK = Entry.objects.filter(entryType__icontains='МРТ', 'МСКТ')
VK = Entry.objects.filter(entryType__icontains='МРТ', entryType__icontains='МСКТ')
QuerySet [],"duplicate keyword argument".或像这样:
VK = Entry.objects.filter(entryType__icontains='МРТ') # результат соответствует запросу
VK += Entry.objects.filter(entryType__icontains='МСКТ') # unsupported operand type(s) for +=: 'QuerySet' and 'QuerySet'
推荐如何实现这个过滤条件?
当我尝试使用来自另一个模板的链接在模板中显示来自数据库的记录时出现错误。
数据库中有一些记录需要编辑。
在此之前,数据库记录列表显示在模板中,每条记录都有一个用于编辑的链接。
将参数从模板传递到视图的过程很经典:
<a href="{% url 'entryview' entry.id %}"> {{entry}}</a>
网址.py:
urlpatterns = [url(r'^entryview/(?P<pk>\d+)/', app.views.entryview, name='entryview'),]
视图.py:
def entryview(request, pk):
entry = Entry.objects.get(id = pk)
return(request,'app/entryview.html',
{ 'staff': request.user.staff, 'entry': entry, 'pk': pk,
'year': datetime.now().year,
})
结果,我得到传递的元组不存在的属性错误。
这里有什么问题?
我正在尝试执行简单的操作,通过“ManyToMany”外键将授权用户包含在辅助模型的实例中。
模型:
from django.contrib.auth.models import User
class Entry(models.Model):
author = models.ManyToManyField(User, verbose_name='Заявку оформил')
我从数据库条目创建现有用户的实例:
>>> u = User.objects.get(pk=2)
>>> u
<User: doctor>
现在我将此用户传递给 Entry 实例:
>>> entry = Entry(id=1, author=u)
我遇到了一个例外:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "Z:\Django\DjangoWeb\env\lib\site-packages\django\db\models\base.py", line 568, in __init__
_setattr(self, prop, kwargs[prop])
File "Z:\Django\DjangoWeb\env\lib\site-packages\django\db\models\fields\related_descriptors.py", line 537, in __set__
manager.set(value)
File "Z:\Django\DjangoWeb\env\lib\site-packages\django\db\models\fields\related_descriptors.py", line 983, in set
objs = tuple(objs)
TypeError: 'User' object is not iterable
我究竟做错了什么?
在创建数据库表-“makemigrations”的操作过程中,系统发出以下关于序列化问题的消息:
Идет выполнение: manage.py check
System check identified no issues (0 silenced).
Идет выполнение: manage.py makemigrations
Migrations for 'app':
app\migrations\0001_initial.py
- Create model Destination
- Create model Doctor
- Create model Entry
....
полный список всех таблиц из models.py
Traceback (most recent call last):
File "...\DjangoWeb\manage.py", line 17, in <module>
execute_from_command_line(sys.argv)
File "...\DjangoWeb\env\lib\site-packages\django\core\management\__init__.py", line 364, in execute_from_command_line
utility.execute()
File "Z:\Documents\_Works\ГП16\Entries\Diagnostic-Entries-Django\DjangoWeb\env\lib\site-packages\django\core\management\__init__.py", line 356, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "...\DjangoWeb\env\lib\site-packages\django\core\management\base.py", line 283, in run_from_argv
self.execute(*args, **cmd_options)
File "...\DjangoWeb\env\lib\site-packages\django\core\management\base.py", line 330, in execute
output = self.handle(*args, **options)
File "Z:\Documents\_Works\ГП16\Entries\Diagnostic-Entries-Django\DjangoWeb\env\lib\site-packages\django\core\management\commands\makemigrations.py", line 193, in handle
self.write_migration_files(changes)
File "...\DjangoWeb\env\lib\site-packages\django\core\management\commands\makemigrations.py", line 231, in write_migration_files
migration_string = writer.as_string()
File "...\DjangoWeb\env\lib\site-packages\django\db\migrations\writer.py", line 163, in as_string
operation_string, operation_imports = OperationWriter(operation).serialize()
File "...\DjangoWeb\env\lib\site-packages\django\db\migrations\writer.py", line 120, in serialize
_write(arg_name, arg_value)
File "...\DjangoWeb\env\lib\site-packages\django\db\migrations\writer.py", line 72, in _write
arg_string, arg_imports = MigrationWriter.serialize(item)
File "...\DjangoWeb\env\lib\site-packages\django\db\migrations\writer.py", line 293, in serialize
return serializer_factory(value).serialize()
File "...\DjangoWeb\env\lib\site-packages\django\db\migrations\serializer.py", line 44, in serialize
item_string, item_imports = serializer_factory(item).serialize()
File "...\DjangoWeb\env\lib\site-packages\django\db\migrations\serializer.py", line 229, in serialize
return self.serialize_deconstructed(path, args, kwargs)
File "...\DjangoWeb\env\lib\site-packages\django\db\migrations\serializer.py", line 101, in serialize_deconstructed
arg_string, arg_imports = serializer_factory(arg).serialize()
File "...\DjangoWeb\env\lib\site-packages\django\db\migrations\serializer.py", line 396, in serializer_factory
"topics/migrations/#migration-serializing" % (value, get_docs_version())
ValueError: Cannot serialize: <django.db.models.query_utils.
DeferredAttribute object at 0x0000025CC6A0E940>
There are some values Django cannot serialize into migration files.
For more, see
https://docs.djangoproject.com/en/1.11/topics/migrations/#migration-serializing
----------------------------------
Идет выполнение: manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying sessions.0001_initial... OK
>>>
应用迁移没有抛出任何异常!但是,用户模型表实际上并未在数据库中创建。仅创建了与身份验证等相关的 jang 表。
告诉我为什么没有创建“makemigrations”时列出的模型表,这可能是什么原因?
模型.py
from django.db import models
# my import
from django.contrib.auth.models import User
from django.utils import timezone
# Модель Имён
class Name(models.Model):
name = models.CharField(max_length=30, verbose_name="Имя") # для ФИО
# Модель Фамилий
class Surname(models.Model):
surname = models.CharField(max_length=30, verbose_name="Фамилия") # для ФИО
# Модель Отчеств
class Midname(models.Model):
midname = models.CharField(max_length=30, verbose_name="Отчество") # для ФИО
# модель ФИО - абстрактная
class FIO(models.Model):
surname = models.ManyToManyField(Surname, verbose_name="Фамилия")
name = models.ManyToManyField(Name, verbose_name="Имя")
midname = models.ManyToManyField(Midname, verbose_name="Отчество", blank=True, default='')
class Meta:
abstract = True
# модель - "Врач"
class Doctor(FIO):
docid = models.CharField(max_length=10, verbose_name='Код врача') # код врача
department = models.CharField(max_length=15, verbose_name='Отделение') # отделение
telm = models.CharField(max_length=12, blank=True, verbose_name='Моб. тел', default='') # мобильный
telw = models.CharField(max_length=12, blank=True, verbose_name='Гор. тел.', default='') # городской
tels = models.CharField(max_length=3, blank=True, verbose_name='Внутр. тел', default='') # внутренний
def __str__(self):
# Строка для представления объекта модели. String for representing the Model object.
return 'Врач: {0} {1} {2}, код: {3}, тел-ны: раб. {4}, внутр. {5}, моб. {6}'.format(self.surname, self.name, self.midname, self.docid, self.telw, self.tels, self.telm)
# модель - "подрядное ЛПУ или диагностический центр"
class Med_agency(models.Model):
name = models.CharField(max_length=100, blank=True)
address = models.CharField(max_length=100, blank=True)
# модель - класс "Тип заявки" ???
class EntryType(models.Model):
type = models.CharField(max_length=50, verbose_name="Тип диагностики")
shortType = models.CharField(max_length=3, verbose_name="Тип (сокращённо)")
# модель - "Тип специализации по нозологиям"
class Nozology(models.Model):
nozology = models.CharField(max_length=50, help_text = "Нозологии")
def __str__(self): # Строка для представления объекта модели
return "{0}".format(self.nozology)
# модель - "тип назначения (диагностика, консультация)"
class Destination(models.Model):
destination = models.CharField(max_length=50, verbose_name="Назначения")
# модель - "Локализации МРТ, МСКТ"
class Localisation(models.Model):
localType = models.CharField(max_length=10, verbose_name="Технология ", default='', blank=True)
localisation = models.CharField(max_length=50, verbose_name="Локализация", default='', blank=True)
def __str__(self):
return "Локализация: {0}, {1}".format(localType, localisation)
class UserProfile(models.Model): # Пользователь системы
user = models.OneToOneField('auth.User', verbose_name="Пользователь", on_delete=models.CASCADE)
isActive = models.BooleanField(verbose_name="Активен?", default=False) # отметка о активности
# модель - "Заявка"
class Entry(FIO):
author = models.ManyToManyField('auth.User', verbose_name='Заявку оформил') # Автор заполнения - инициализируется автоматически по входу в систему
dateReg = models.DateField('Дата регистрации', default=timezone.now, ) # дата регистрации
entryNumber = models.CharField(max_length=10, verbose_name='Номер заявки')
entryType = models.CharField(max_length=20, verbose_name='Тип заявки')
patient_dateBurn = models.DateField('Дата рождения')
patient_weight = models.PositiveSmallIntegerField(verbose_name="Вес", blank=True, null=True) # вес
patient_card = models.CharField(max_length=9, verbose_name="№ мед. карты", blank=True, default='') # номер мед. карты
patient_tel = models.CharField(max_length=12, verbose_name="Телефон", blank=True, default='') # любой телефон
doctor = models.ForeignKey(Doctor, verbose_name='Врач' ) # врач , on_delete=models.PROTECT , on_delete=models.SET_DEFAULT, default='Не активен'
docid = models.CharField(max_length=10, verbose_name='Код врача', default = Doctor.docid) # код врача
diagnose = models.TextField('Диагноз', default='') # диагноз
diagnoseMKB = models.CharField('Диагноз МКБ', max_length=10, default='') # диагноз МКБ
diagnoseDate = models.DateTimeField('Дата установки диагноза', default='') # дата установки диагноза
comment = models.TextField('Комметарий', default='', blank=True) # комментарий о пациенте, заявке, прохождении и т.д.
dateReserch = models.DateField(verbose_name='Назначенная дата', default='') # дата диагностики
timeReserch = models.TimeField(verbose_name='Назначенное время', default='') # время диагностики
orderNumber = models.CharField('№ наряда', max_length=10, default='') # номер наряда
readyMark = models.BooleanField(default=False, verbose_name="Пройдено") # отметка о прохождении СТАТУС заявки
remindDate = models.DateField('Позвонить пациенту', default='', blank=True) # дата напоминания
destination = models.CharField('Назначение', max_length=25)
nozology = models.CharField('Нозология', max_length=25)
localisation = models.ManyToManyField(Localisation, verbose_name='Локализация', default='', blank=True) # локализации МРТ и МСКТ
med_agency = models.ForeignKey(Med_agency, verbose_name='Мед. учреждение') # ЛПУ или диагностический Центр
class Meta:
verbose_name = "Заявка"
verbose_name_plural = "Заявки"
# ordering = [Doctor.surname, str(Doctor.name)[0], str(Doctor.midname)[0]]
ordering = ['-dateReg']
def __str__(self):
return "Заявка №{0}, {1}, {11}, Врач: {2} {3}{4} код: {5}, пациент: {6} {7}{8}, адрес: {9}, тел: {10}".format(str(self.id + self.entryType.shortType), self.dateReg,
self.doctor.surname, str(self.doctor.name)[0], str(self.doctor.midname)[0], self.doctor.docid, self.patient.surname, str(self.patient.name)[0],
str(self.patient.midname)[0], self.patient.address, self.tel, self.entryType.type)
# модель - "Пациент"
class Patient(models.Model):
surname = Entry.surname #models.CharField(max_length=50, verbose_name='Фамилия')
name = Entry.name # models.CharField(max_length=50, verbose_name='Имя') # ФИО
midname = Entry.midname # models.CharField(max_length=50, default='', blank=True, verbose_name='Отчество')
dateBurn = models.DateField('Дата рождения') #
weight = models.PositiveSmallIntegerField(verbose_name="Вес", blank=True, null=True) # вес
medpolice = models.CharField(max_length=100, verbose_name="№ мед. полиса", blank=True, default='') # полис ОМС
card = models.CharField(max_length=9, verbose_name="№ мед. карты", blank=True, default='') # номер мед. карты
address = models.CharField(max_length=100, verbose_name="Адрес проживания", blank=True, default='') # адрес
tel = models.CharField(max_length=12, verbose_name="Телефон", blank=True, default='') # любой телефон
def __str__(self): # Строка для представления объекта модели
return 'Пациент: {0} {1} {2}, полис МС: {3}, мед.карта: {4}, адрес: {5}, тел: {6}'.format(self.surname,
self.name, self.midname, self.medpolice, self.card, self.address, self.tel1)
class logger (models.Model):
pass
在 Visual Studio 2017 中进行开发。在执行“makemigrations”以及检查“manage.py check”时,我有相同的系统响应:
运行:manage.py makemigrations
Traceback (most recent call last):
File "...\DjangoWeb\env\lib\site-packages\django\db\backends\utils.py", line 64, in execute
return self.cursor.execute(sql, params)
File "...\DjangoWeb\env\lib\site-packages\django\db\backends\sqlite3\base.py", line 328, in execute
return Database.Cursor.execute(self, query, params)
sqlite3.OperationalError: no such table: app_entry
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "...\DjangoWeb\manage.py", line 17, in <module>
execute_from_command_line(sys.argv)
File "...\DjangoWeb\env\lib\site-packages\django\core\management\__init__.py", line 364, in execute_from_command_line
utility.execute()
File "...\DjangoWeb\env\lib\site-packages\django\core\management\__init__.py", line 356, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "...\DjangoWeb\env\lib\site-packages\django\core\management\base.py", line 283, in run_from_argv
self.execute(*args, **cmd_options)
File "...\DjangoWeb\env\lib\site-packages\django\core\management\base.py", line 327, in execute
self.check()
File "...\DjangoWeb\env\lib\site-packages\django\core\management\base.py", line 359, in check
include_deployment_checks=include_deployment_checks,
File "...\DjangoWeb\env\lib\site-packages\django\core\management\base.py", line 346, in _run_checks
return checks.run_checks(**kwargs)
File "...\DjangoWeb\env\lib\site-packages\django\core\checks\registry.py", line 81, in run_checks
new_errors = check(app_configs=app_configs)
File "...\DjangoWeb\env\lib\site-packages\django\core\checks\urls.py", line 16, in check_url_config
return check_resolver(resolver)
File "...\DjangoWeb\env\lib\site-packages\django\core\checks\urls.py", line 26, in check_resolver
return check_method()
File "...\DjangoWeb\env\lib\site-packages\django\urls\resolvers.py", line 256, in check
for pattern in self.url_patterns:
File "...\DjangoWeb\env\lib\site-packages\django\utils\functional.py", line 35, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "...\DjangoWeb\env\lib\site-packages\django\urls\resolvers.py", line 407, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "...\DjangoWeb\env\lib\site-packages\django\utils\functional.py", line 35, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "...\DjangoWeb\env\lib\site-packages\django\urls\resolvers.py", line 400, in urlconf_module
return import_module(self.urlconf_name)
File "...\Microsoft Visual Studio\Shared\Python36_64\lib\importlib\__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 678, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File ".\DjangoWeb\urls.py", line 8, in <module>
import app.views
File ".\app\views.py", line 68, in <module>
ENTRY_COUNT = Entry.objects.count() # кол-во зявок в БД
File "...\DjangoWeb\env\lib\site-packages\django\db\models\manager.py", line 85, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "...\DjangoWeb\env\lib\site-packages\django\db\models\query.py", line 364, in count
return self.query.get_count(using=self.db)
File "...\DjangoWeb\env\lib\site-packages\django\db\models\sql\query.py", line 499, in get_count
number = obj.get_aggregation(using, ['__count'])['__count']
File "...\DjangoWeb\env\lib\site-packages\django\db\models\sql\query.py", line 480, in get_aggregation
result = compiler.execute_sql(SINGLE)
File "...\DjangoWeb\env\lib\site-packages\django\db\models\sql\compiler.py", line 899, in execute_sql
raise original_exception
File "...\DjangoWeb\env\lib\site-packages\django\db\models\sql\compiler.py", line 889, in execute_sql
cursor.execute(sql, params)
File "...\DjangoWeb\env\lib\site-packages\django\db\backends\utils.py", line 79, in execute
return super(CursorDebugWrapper, self).execute(sql, params)
File "...\DjangoWeb\env\lib\site-packages\django\db\backends\utils.py", line 64, in execute
return self.cursor.execute(sql, params)
File "...\DjangoWeb\env\lib\site-packages\django\db\utils.py", line 94, in __exit__
six.reraise(dj_exc_type, dj_exc_value, traceback)
File ...\DjangoWeb\env\lib\site-packages\django\utils\six.py", line 685, in reraise
raise value.with_traceback(tb)
File "...\DjangoWeb\env\lib\site-packages\django\db\backends\utils.py", line 64, in execute
return self.cursor.execute(sql, params)
File "...\DjangoWeb\env\lib\site-packages\django\db\backends\sqlite3\base.py", line 328, in execute
return Database.Cursor.execute(self, query, params)
django.db.utils.OperationalError: no such table: app_entry
同时,“migration”项目文件夹中的所有migration文件都被删除,除了“--init--.py”文件,数据库文件本身被系统删除并重新创建,但不断给出上述错误..
这里可能有什么问题以及如何解决?
既然在 linux-server 上托管一个用 Python Django 编写的 web 应用更有利可图,那么在什么环境配置下开发更方便呢?环境选项: 1. Windows、Visual Studio、Python Django 2. Linux、PyCharme IDE、Python Django(或 sublime 等) 3. Linux-Server(一台用于开发并托管在其上的 PC)、PyCharme IDE、Python Django(或崇高等)
每个选项中可能会出现 Web 项目的哪些困难或其他设置/功能?