小编Hen*_*ryM的帖子

名称重复以前的WSGI守护程序定义

我正在更改网站的域名.在一段时间内,我希望旧域名和新域名指向该站点.我正在运行一个Python Django站点.

我最初的Apache2 conf工作正常,基础是:

<VirtualHost *:80>
        ServerAdmin name@gmail.com
        ServerName originalsite.co.uk
        ServerAlias www.originalsite.co.uk
        DocumentRoot /var/www/originalsite
        WSGIDaemonProcess originalsite python-path=/var/www/originalsite:/var/www/originalsite/env/lib/python2.7/site-packages
        WSGIProcessGroup originalsite
        WSGIScriptAlias / /var/www/originalsite/originalsite/wsgi.py
        ...
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

我设置了一个新的conf文件,只有以下更改:

    ServerName newsite.co.uk
    ServerAlias www.newsite.co.uk
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

名称重复以前的WSGI守护程序定义.

我该如何解决?谢谢你的帮助

python apache django mod-wsgi

13
推荐指数
3
解决办法
8163
查看次数

是否存在与PyVirtualDisplay等效的Windows

我为配偶写了一个网络刮刀,以节省他的工作时间.它是Python使用Selenium和打开Firefox浏览器编写的.

我自己在我使用的Linux机器上编写了这段代码,PyVirtualDisplay因此Firefox实际上并没有打开并干扰我的工作.

如何在Windows PC上的虚拟显示器中运行?

python selenium pyvirtualdisplay

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

无数脚本在几次运行后崩溃

我有一个使用无头浏览器的脚本,我正在使用它crontab -e.它在前几次运行正常,然后使用以下Traceback崩溃:

Traceback (most recent call last):
  File "/home/clint-selenium-firefox.py", line 83, in <module>
    driver.get(url)
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 248, in get
    self.execute(Command.GET, {'url': url})
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 236, in execute
    self.error_handler.check_response(response)
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/errorhandler.py", line 192, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: Failed to decode response from marionette
Run Code Online (Sandbox Code Playgroud)

我的crontab行是:

*/10 * * * * export DISPLAY=:0 && python /home/clint-selenium-firefox.py >> /home/error.log 2>&1
Run Code Online (Sandbox Code Playgroud)

我不想用python脚本重载这个,所以我已经拿出了我认为的相关位.

from pyvirtualdisplay import Display

display = Display(visible=0, size=(800, 600))
display.start()
...
driver = webdriver.Firefox()
driver.get(url) …
Run Code Online (Sandbox Code Playgroud)

python cron selenium-firefoxdriver selenium-webdriver pyvirtualdisplay

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

使用Django 2.0的Django REST框架URL

我正在尝试使用Django 2.0项目设置Django REST Framework,这意味着url(r'^something/' ...已被替换path(something/ ....

我正在尝试设法如何设置我的rest_framework模式.

这就是我所拥有的:

router = routers.DefaultRouter()
router.register(r'regulations', api.RegulationViewSet)
router.register(r'languages', api.LanguageViewSet)


urlpatterns = [
    ...
    path('api-auth/', include('rest_framework.urls', namespace='rest_framework')),
    ...
]
Run Code Online (Sandbox Code Playgroud)

如果我去,http://127.0.0.1:8000/regulations我只是得到:

找不到页(404)

我该怎么设置我的urlpatterns

django django-rest-framework django-2.0

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

Django-registration重新发送激活电子邮件与新代码

我正在使用django-registration和唯一的电子邮件地址,我希望能够在用户请求并且帐户尚未激活的情况下向电子邮件发送第二个激活表单.我在Stackoverflow上找到了这个链接,但我不明白我应该把例程放在哪里.我把它放在我的应用程序的views.py中,我收到错误

global name 'RegistrationProfile' is not defined
Run Code Online (Sandbox Code Playgroud)

这是因为RegistrationProfile是一个注册模型,但是当发送激活表单时它不会在我的数据库中创建一个表/记录,所以我不明白我是如何访问它的.

任何的建议都受欢迎.

python django django-registration python-2.7

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

在Django模板中显示未知数量的字段,并将另一条记录的字段内容作为标签

我有一个Django应用程序,我希望能够在多个实例中使用.一个模型(列表)可以具有可变数量的字段(针对不同的实例),但是将始终具有该实例的那些额外字段.我想通过管理员添加这些额外的字段,所以我创建了这样的模型:

class BespokeField (models.Model):
    name = models.CharField(
        max_length = 20,
        verbose_name = "Field Title"
    )

    def __unicode__(self):
        return self.name

class Listing (models.Model):
    name = models.CharField (
        verbose_name = 'Listing',
        max_length = 30
    )
    slug = models.SlugField (
        verbose_name = "Slug",
        allow_unicode = True,
        unique=True,
        blank=True,
        null=True
    )

class ListingBespokeField (models.Model):
    bespoke_field = models.ForeignKey(BespokeField)
    listing = models.ForeignKey(Listing)
    value = models.CharField (
        max_length = 60
    )

    def __unicode__(self):
        return u'%s | %s' % (self.listing.name, self.bespoke_field.name)
Run Code Online (Sandbox Code Playgroud)

理论是admin指定定制字段,然后以表格形式显示给用户.在管理员中这是相对简单的,因为我可以假设来自用户的智能,所以我的admin.py看起来像:

class ListingBespokeFieldInline(admin.TabularInline):
    model = ListingBespokeField
    extra …
Run Code Online (Sandbox Code Playgroud)

python django django-templates django-forms

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

Youtube API - 无法在'DOMWindow'上执行'postMessage'

我正在尝试在打开模态时启动youtube视频,直到完成后才进入下一页.

我的下面的脚本适用于Chrome,但在Firefox和Edge中会产生此错误.

无法在'DOMWindow'上执行'postMessage':提供的目标源(' https://www.youtube.com ')与收件人窗口的原点(' http://example.com ')不匹配.

使用Javascript

<script src="http://www.youtube.com/player_api"></script>

<script>

    // autoplay video
    function onPlayerReady(event) {
        event.target.playVideo();
    }

    // when video ends
    function onPlayerStateChange(event) {        
        if(event.data === 0) {          
            alert('Thank you for watching - Click OK to see your results');
        }
    }

</script>

<script language="JavaScript">
    $(document).ready(function() {
        $('#post_form').submit(function() { // catch the form's submit event
            $("#adModal").modal("show");
            var time = $('#adtime').val();
            //startCountdownTimer(time) ;

            // create youtube player
            var player;
            player = new YT.Player('player', {
                width: '640',
                height: '390',
                videoId: 'EF-jwIv1w68', …
Run Code Online (Sandbox Code Playgroud)

javascript youtube

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

使用 Apache2 和 Daphne 部署 django-channels

我正在尝试学习使用django-channels并且已经完成了教程和这个多聊天示例。我现在正在尝试使用 Apache 和 Daphne 将其部署在 Digital Ocean 液滴上。我很乐意单独使用达芙妮,但我不知道如何使用。

所以这是我的 Apache conf 文件:

<VirtualHost *:80>
    ServerAdmin webmaster@mysite.co.uk
    ServerName multichat.mysite.co.uk
    ServerAlias www.multichat.mysite.co.uk
    DocumentRoot /var/www/multichat
    WSGIDaemonProcess multichat python-path=/var/www/multichat python-home=/var/www/multichat/env
    WSGIProcessGroup multichat
    WSGIScriptAlias / /var/www/multichat/multichat/wsgi.py

    Alias /robots.txt /var/www/multichat/static/robots.txt
    Alias /favicon.ico /var/www/multichat/static/favicon.ico

    Alias /media/ /var/www/multichat/media/
    Alias /static/ /var/www/multichat/static/

    <Directory /var/www/multichat/static>
        Require all granted
    </Directory>

    <Directory /var/www/multichat/media>
        Require all granted
    </Directory>

    WSGIScriptAlias / /var/www/multichat/multichat/wsgi.py

    <Directory /var/www/multichat/multichat>
        <Files wsgi.py>
            Require all granted
        </Files>
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

我已经安装并运行了 Redis。

我已经将这个文件包含在 …

django django-channels

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

如何在 Django 中翻译 Javascript 标准错误消息?

我有几个使用翻译的 Django 项目,除了表单上的 Javascript 错误消息无法翻译之外,一切都工作正常。

例如,在我的登录表单上,如果我只需按 Enter 键,无论我选择了英语、法语、德语还是任何其他语言,我都会收到英语的 JS 错误消息“请填写此字段”。这不是我的 JS 错误消息,如果我运行manage.py makemessages -d djangojs,那么该消息不会显示出来进行翻译,所以我认为我不需要通过该过程进行纠正。

谁能告诉我如何确保用户收到其语言的 JavaScript 错误消息。谢谢

javascript django language-translation

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

django.db.utils.ProgrammingError: 关系“django_content_type”不存在

我有一个在我的 PC 上慢慢建立的项目,它运行良好。我只是想把它放到服务器上,但我收到了这个错误:

django.db.utils.ProgrammingError: 关系“django_content_type”不存在

我无法解决这个问题,并且 Stackoverflow 上的帖子建议删除迁移并重新创建它们,我完成了但有同样的问题。如果您能指导我应该寻找什么,我将不胜感激。

这是我的回溯:

Traceback (most recent call last):
  File "manage.py", line 15, in <module>
    execute_from_command_line(sys.argv)
  File "/var/www/jobsite/env/lib/python3.5/site-packages/django/core/management/__init__.py", line 371, in execute_from_command_line
    utility.execute()
  File "/var/www/jobsite/env/lib/python3.5/site-packages/django/core/management/__init__.py", line 365, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/var/www/jobsite/env/lib/python3.5/site-packages/django/core/management/base.py", line 288, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/var/www/jobsite/env/lib/python3.5/site-packages/django/core/management/base.py", line 332, in execute
    self.check()
  File "/var/www/jobsite/env/lib/python3.5/site-packages/django/core/management/base.py", line 364, in check
    include_deployment_checks=include_deployment_checks,
  File "/var/www/jobsite/env/lib/python3.5/site-packages/django/core/management/commands/migrate.py", line 58, in _run_checks
    issues.extend(super()._run_checks(**kwargs))
  File "/var/www/jobsite/env/lib/python3.5/site-packages/django/core/management/base.py", line 351, in _run_checks
    return checks.run_checks(**kwargs)
  File "/var/www/jobsite/env/lib/python3.5/site-packages/django/core/checks/registry.py", line 73, in run_checks
    new_errors = …
Run Code Online (Sandbox Code Playgroud)

django

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