我正在尝试通过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,不应该在那里.删除解决了这个问题.
我正在努力学习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) 我误会了什么!如果我的模型未保存,则它没有与之关联的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()引起的.如果我避免这样做并直接保存到模型,我没有这个问题.
这可能是一个愚蠢的问题,但我有点不确定手动设置 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)