我试图用Django / Python来处理传入的JSON / Ajax请求。 request.is_ajax()为True ,但我不知道JSON数据的有效载荷在哪里。 request.POST.dir包含这个: ['__class__', '__cmp__', '__contains__', '__copy__', '__deepcopy__', '__delattr__', '__delitem__', '__dict__', '__doc__', '__eq__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__str__', '__weakref__', '_assert_mutable', '_encoding', '_get_encoding', '_mutable', '_set_encoding', 'appendlist', 'clear', 'copy', 'encoding', 'fromkeys', 'get', 'getlist', 'has_key', 'items', 'iteritems', 'iterkeys', 'itervalues', […]
我在django中有一个扩展的UserProfile模型: class UserProfile(models.Model): user = models.ForeignKey(User, unique=True) #other things in that profile 和一个signals.py: from registration.signals import user_registered from models import UserProfile from django.contrib.auth.models import User def createUserProfile(sender, instance, **kwargs): profile = users.models.UserProfile() profile.setUser(sender) profile.save() user_registered.connect(createUserProfile, sender=User) 我确信这个信号被注册到我的__init__.py : import signals 所以这应该为每个注册的用户创build一个新的UserProfile,对吧? 但事实并非如此。 当我尝试login时,总是得到“UserProfile匹配的查询不存在”错误,这意味着数据库条目不存在。 我应该说我使用django注册,它提供user_registered信号。 重要的应用程序的结构是,我有一个应用程序称为“用户”,那里我有:models.py,signals.py,urls.py和views.py(和其他一些不应该在这里重要的事情)。 UserProfile类在models.py中定义。 更新 :我将signals.py更改为: from django.db.models.signals import post_save from models import […]
我已经积累了很多使用南(0.7)和Django(1.1.2)的迁移,在我的unit testing中开始消耗相当多的时间。 我想重新设置基线并开始一组新的迁移。 我已经回顾了南方的文档 ,做了通常的谷歌/ Stackoverflowsearch(例如“Django南(复位或删除或删除)迁移历史”),并没有发现任何明显的。 我想到的一种方法将涉及到“重新开始”,“删除”南或“手动清除”历史logging(例如,清除数据库表,从迁移指导中删除迁移文件),然后重新运行, ./manage.py schemamigration southtut –initial 所以,如果有人已经这样做了,并有一些提示/build议,他们将不胜感激。
TL; 博士:有没有办法来覆盖reverse的默认行为? 在我的django项目中,我有很多诸如 url(r'^\w+/company/', include("company.urls", namespace="company")), 它允许诸如 …/companyA/company/ …/companyB/company/ 这样我就可以使用一个自定义中间件来修改请求,以包含一些基于公司正在使用我的网站的具体细节 这一切工作正常,除了当Django试图破译完整的path与reverse和{% url .. %} … 它似乎正在返回/x/company/作为正则expression式的默认匹配。 因为django.utils.regex_helper方法的next_char有一个\w映射到x的转义映射 我已经能够覆盖 url标记来replace/x/的正确的公司名称,我想知道是否有类似的事情我可以做,以同样的方式覆盖reverse ,或者我可以做的任何其他事情来解决这个问题? 以前,我在用 url(r'^(?P<company_name>\w+)/company/', include("company.urls", namespace="company")) 但这意味着我必须在每个视图中包含一个参数 def view(request, company_name): … 以及将其包括在我所有的其他调用视图(即与{% url %} ),我试图避免。
我是Django的新成员,并使用django开发Web应用程序。我已经成功地在我的Web应用程序中使用Userena设置了注册function,并且可以使用validation电子邮件注册为用户。 我可以在我的settings.py文件中显示我的SMTP设置 EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_USE_TLS = True EMAIL_HOST = 'smtp.gmail.com' EMAIL_PORT = 587 EMAIL_HOST_USER = 'raihncse@gmail.com' DEFAULT_FROM_EMAIL = 'raihncse@gmail.com' SERVER_EMAIL = 'raihncse@gmail.com' EMAIL_HOST_PASSWORD = '**************' 一切都很好,我已经改变了我的EMAIL_HOST_PASSWORD 事实上,由于某种原因,我必须更改该SERVER_EMAIL的先前密码(raihncse@gmail.com)。我已经根据新的SERVER_EMAIL编辑了EMAIL_HOST_PASSWORD。 密码。 但现在,如果我想注册为新用户,我正面临以下错误 SMTPAuthenticationError at /accounts/signup/ (534, '5.7.14 <https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt=AKgnsbvNq\n5.7.14 S3l1pFXENupDa_SdPphNHrnzeLPUOyf6O0l1s31w7h_UARx11P89AxPeeZ6xBi2KeQRjsw\n5.7.14 nvpxZhPVv771W9ljEDyeWnqpqv3_nakuPo36BEl3IlYj9qVujNB5cm0TYFf9LQAxRjFdda\n5.7.14 xh-y5spA9zIQONDsvRRgN3e0DXoIkgxTO3Mu75IaACi-XlvFtFfPBiQ81gUrBZ_PhZsBmh\n5.7.14 ajsSf-flNEmoSydyOTNdmwdB0__8> Please log in via your web browser and\n5.7.14 then try again.\n5.7.14 Learn more at\n5.7.14 https://support.google.com/mail/bin/answer.py?answer=78754 […]
我正在尝试设置包含一些基本设置的多个设置文件(开发,生产,..)。 虽然不能成功。 当我尝试运行./manage.py runserver时出现以下错误: (cb)clime@den /srv/www/cb $ ./manage.py runserver ImproperlyConfigured: The SECRET_KEY setting must not be empty. 这是我的设置模块: (cb)clime@den /srv/www/cb/cb/settings $ ll total 24 -rw-rw-r–. 1 clime clime 8230 Oct 2 02:56 base.py -rw-rw-r–. 1 clime clime 489 Oct 2 03:09 development.py -rw-rw-r–. 1 clime clime 24 Oct 2 02:34 __init__.py -rw-rw-r–. 1 clime clime […]
我正在学习如何在Django中上传文件,在这里我遇到了一个应该是微不足道的问题,错误: 提交的数据不是文件。 检查表单上的编码types。 以下是详细信息。 注:我也看着Django Rest Framework ImageField ,我试了一下 serializer = ImageSerializer(data=request.data, files=request.FILES) 但是我明白了 TypeError: __init__()得到一个意想不到的关键字参数'files' 我有一个Image模型,我想通过Django REST框架进行交互: models.py class Image(models.Model): image = models.ImageField(upload_to='item_images') owner = models.ForeignKey( User, related_name='uploaded_item_images', blank=False, ) time_created = models.DateTimeField(auto_now_add=True) serializers.py class ImageSerializer(serializers.ModelSerializer): image = serializers.ImageField( max_length=None, use_url=True, ) class Meta: model = Image fields = ("id", 'image', 'owner', 'time_created', ) […]
保存模型之前,我正在重新设置图片大小。 但是我怎样才能检查新图片是否添加或只是描述更新,所以我可以跳过每次模型保存时重新缩放? class Model(model.Model): image=models.ImageField(upload_to='folder') thumb=models.ImageField(upload_to='folder') description=models.CharField() def save(self, *args, **kwargs): if self.image: small=rescale_image(self.image,width=100,height=100) self.image_small=SimpleUploadedFile(name,small_pic) super(Model, self).save(*args, **kwargs) 我只想在新图像加载或图像更新时重新resize,而不是在更新描述时resize。
我有一个与被链接到标准Django用户模型的created_by字段的模型。 保存模型时,我需要自动填充当前用户的ID。 我不能在pipe理层做到这一点,因为网站的大部分地方不会使用内置的pipe理员。 任何人都可以build议我应该如何去做呢?
升级到Django 1.5后,我开始得到这样的错误: Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 92, in get_response response = middleware_method(request) File "/usr/local/lib/python2.7/dist-packages/django/middleware/common.py", line 57, in process_request host = request.get_host() File "/usr/local/lib/python2.7/dist-packages/django/http/request.py", line 72, in get_host "Invalid HTTP_HOST header (you may need to set ALLOWED_HOSTS): %s" % host) SuspiciousOperation: Invalid HTTP_HOST header (you may need to set ALLOWED_HOSTS): www.google.com <WSGIRequest […]