小编sha*_*fin的帖子

"make_sock:无法绑定到地址[::]:443"重启apache时(安装trac和mod_wsgi)

我正在尝试通过SSL安装trac和mod_wsgi.我试图手动安装它,但是效果不好,所以我开始遵循这个:trac-on-ubuntu

我跳过了svn部分,因为我想使用git代替.在第一次编辑httpd.conf之后:

WSGIScriptAlias /trac /var/trac/apache/trac.wsgi

<Directory /var/trac/apache>
    WSGIApplicationGroup %{GLOBAL}
    Order deny,allow
    Allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)

我重新启动apache只是为了得到这个错误:

* Restarting web server apache2                                                    

(98)Address already in use: make_sock: could not bind to address [::]:443

                                                                     [ OK ]
Run Code Online (Sandbox Code Playgroud)

这些都没有表现出来.

 netstat -anp | grep 443 
 fuser 443/tcp
Run Code Online (Sandbox Code Playgroud)

除了我运行的grep命令之外,这样做没有产生任何结果:

ps -aux | grep httpd
Run Code Online (Sandbox Code Playgroud)

当没有任何东西出现时,为什么说其他东西正在使用该端口?

编辑:你们会笑这个.我在ports.conf中有一个额外的Listen 443,不应该在那里.删除解决了这个问题.

apache ubuntu trac mod-wsgi

85
推荐指数
3
解决办法
12万
查看次数

在将ManyToManyField呈现为Textarea时,Django"输入值列表"形式错误

我正在努力学习Django,但我遇到了一些令人困惑的问题.我目前在使用表单创建电影时遇到问题.表单的想法是为用户提供他想要填写的任何字段.用户填写的任何字段都将在其各自的sql表中更新(将忽略空字段).但是,当我提交表单时,表单不断向我提供错误"输入值列表".为了解决这个问题,我认为将表单中的数据填充到列表中,然后返回该列表就可以解决这个问题.

第一个想法是覆盖clean()我的ModelForm.但是,由于表单未能is_valid()在我的视图中进行检查,因此cleaned_data变量in clean()不包含任何内容.接下来,我试图覆盖to_python().但是,to_python()似乎没有被称为.

如果我放入__metaclass__ = models.SubfieldBase相应的模型,我会收到运行时错误

"TypeError:调用元类基类元类冲突时出错:派生类的元类必须是其所有基类的元类的(非严格)子类"

我的方法似乎不起作用.我不确定如何绕过'输入值列表'错误!有什么建议吗?

这是相关代码(更新):

models.py

""" Idea:
A movie consists of many equipments, actors, and lighting techniques. It also has a rank for the particular movie, as well as a title. 

A Theater consists of many movies.

A nation consists of many theaters. 
"""

from django.db import models
from django.contrib.auth.models import User

class EquipmentModel(models.Model):
        equip = models.CharField(max_length=20)
#       user = models.ForeignKey(User)

class …
Run Code Online (Sandbox Code Playgroud)

django

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

模型的表单实例给出id = None Django

我误会了什么!如果我的模型未保存,则它没有与之关联的ID.所以,如果我有这样的事情:

views.py (插入或编辑现有信息使用相同的模型)

def insert_or_modify(request, id=None):
    if id is not None:
         book = BookModel.objects.get(pk=id)
    else:
         book = BookModel()

    if request.method == 'POST':
        form = BookInfoForm(request.POST, request.FILES, instance=book)
        if form.is_valid():
            form.save()

    ....

    return render_to_response(...)
Run Code Online (Sandbox Code Playgroud)

我还有一个图像,并使用upload_to作为图像域.有两个问题:id是None,我不确定如何操作/保存,instance=book以便我实际上得到一个id.第二个问题是我保存数据的位置是关闭的.即使模板标签book.img.url具有所需的书籍http:127.0.0.1:8000/folder1/media/id/位置,实际位置也位于其他位置:

我想将图像保存到的位置:

/project/folder1/media/id/
Run Code Online (Sandbox Code Playgroud)

id书的ID 在哪里.

我真正得到的是:

/project/id/      
Run Code Online (Sandbox Code Playgroud)

(但'id'变为'None',因为它不存在!)

我以前的代码工作.它将保存到正确的位置,但使用此当前代码,它不起作用.所以保存问题似乎不是由于settings.py,因为它以前工作.

编辑:从代码格式区域中删除非代码

编辑:我发现了为什么我没有保存到正确的位置.事实证明,当我上次修改settings.py时,我忘了取消注释.保存到位置现在工作!对不起大家!

编辑:我认为id = None问题是由form.save()引起的.如果我避免这样做并直接保存到模型,我没有这个问题.

django django-forms

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

在 Django 中手动设置 clean_data 有什么危险吗?

这可能是一个愚蠢的问题,但我有点不确定手动设置 clean_data 是否安全。文档

一旦 is_valid() 返回 True,您就可以安全地处理表单提交,因为您知道它符合表单定义的验证规则。虽然此时您可以直接访问 request.POST,但最好访问 form.cleaned_data。该数据不仅经过验证,还将为您转换为相关的 Python 类型。

为了获得更多上下文,假设我们有一个模型表单,其中包含多个字段,例如书名、书的作者和要求 url 的字段。

表单条件是:如果url字段为空,则用户必须提供标题和作者。如果给出了 url 字段而没有其他任何内容,我将从给定的 url 解析 html 并自动为用户提取标题和作者。

在我自动从 url 中获取标题和作者的情况下,处理将此数据保存到模型的最佳方法是什么,因为表单将为作者和标题返回一个空的 clean_data ?我确保解析的数据符合模型中的验证规则,但像这样设置 clean_data 似乎很可疑。

在模型类中:

def save(self, commit = True, *args, **kwargs):
    parsed_title = ... # String returned by my html parsing function
    parsed_author = ... # String returned by my html parsing function
    self.cleaned_data['title'] = parsed_title
    self.cleaned_data['author'] = parsed_author
Run Code Online (Sandbox Code Playgroud)

编辑:

谢谢,我是这样做的:

def save(self, commit=True, *args, **kwargs):
     instance = super(BookInfoForm, self).save(commit=commit, *args, **kwargs)
     .... …
Run Code Online (Sandbox Code Playgroud)

django django-forms

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

标签 统计

django ×3

django-forms ×2

apache ×1

mod-wsgi ×1

trac ×1

ubuntu ×1