小编Sel*_*cuk的帖子

django 模型选择对保存的数据没有影响

按照django 文档,我尝试在我的models.py 中做一个选择字段 :

class MyModel(Model):

    ACTION_CHOICES = (
        ('d', 'delete'),
        ('c', 'create'),
        ('u', 'update'),
    )

    action = CharField(max_length=1, choices=ACTION_CHOICES)
Run Code Online (Sandbox Code Playgroud)

但是当我运行它时

 action = MyModel(action='create')
 action.save()
Run Code Online (Sandbox Code Playgroud)

并检查数据库的动作不是c,而是create。此外,即使对 max_length 的限制也不会对它产生影响。好的,我继续前进并尝试以这种方式制作它:

模型.py

class MyModel(Model):

    ACTION_CHOICES = (
        (1, 'delete'),
        (2, 'create'),
        (3, 'update'),
    )

    action = IntegerField(max_length=1, choices=ACTION_CHOICES)
Run Code Online (Sandbox Code Playgroud)

代码.py

action = MyModel(action='create')
action.save()
Run Code Online (Sandbox Code Playgroud)

但是我得到一个错误,str 字段不能像 int 一样保存(数据库有 int 字段,但 MyModel.action 是 str)我在这里想念什么?选择不是应该在保存时转换价值吗?

此致,

django django-models

5
推荐指数
2
解决办法
4183
查看次数

为 pip 格式化一个 requirements.txt 文件,其中一个或多个包具有不同的 index-url

我正在尝试将 Django 应用程序部署到 Heroku,其中一个必需的包存在于https://testpypi.python.org/pypi其中,当然 Django 位于主 PyPI 服务器上。

requirements.txt文件如下所示:

Django==1.7.7
-i https://testpypi.python.org/pypi
foo-bar==0.4
Run Code Online (Sandbox Code Playgroud)

运行pip install -r requirements.txt失败并出现以下错误:

Could not find any downloads that satisfy the requirement Django==1.7.7 (from -r requirements.txt (line 1))
Cleaning up...
No distributions at all found for Django==1.7.7 (from -r requirements.txt (line 1))
Run Code Online (Sandbox Code Playgroud)

所以看起来pip是在试图找到 Djangotestpypi

所以我试过这个:

-i https://pypi.python.org/pypi/
Django==1.7.7
-i https://testpypi.python.org/pypi
foo-bar==0.4
Run Code Online (Sandbox Code Playgroud)

它导致相同的错误。

如果我在需求文件中只放置一个(无关紧要)包,pip 能够找到该包并安装它。

问题:index-url在单个文件中指定可由命令读取的多个不同参数的正确语法是什么pip install -r file

我认为这并不重要,但 python 是 3.4.0 版,而 pip …

python pip heroku requirements.txt

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

将帖子标题转换为CamelCase

我正在尝试将帖子标题转换为CamelCase来创建一个twitter标签,我正在使用strip但是它返回了一个对象而我不知道这是不是正确的方法?

# views.py
def post_create(request):
    if not request.user.is_authenticated():
        raise Http404

    form_class = PostCreateForm
    if request.method == 'POST':

        form = form_class(request.POST, request.FILES)
        if form.is_valid():

            instance = form.save(commit=False)
            instance.creator = request.user
            instance.slug = slugify(instance.title)
            instance.hashtag = instance.title.strip()
            instance.save()


            slug = slugify(instance.title)
            return redirect(instance.get_absolute_url())

    else:
        form = form_class()

    context = {
        'form': form,
    }

    return render(request, "posts/post_create.html", context)
Run Code Online (Sandbox Code Playgroud)

哪个<built-in method strip of unicode object at 0x031ECB48>在模板var中返回,我正在寻找的结果就像这样MyPostTitle进入模板

    # Template view
    <h3>#{{instance.hashtag|title}}</h3>
Run Code Online (Sandbox Code Playgroud)

models.py

class Post(models.Model):
    creator = models.ForeignKey(ProfileUser)
    title = models.CharField(max_length=80) …
Run Code Online (Sandbox Code Playgroud)

python django django-templates django-views python-2.7

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

遵循Django教程,"ImportError:没有名为urls的模块"

我正在关注官方的django教程https://docs.djangoproject.com/en/1.10/intro/tutorial04/

我正在使用Django 1.9.8,我现在收到以下错误/polls/views.py:

File "C:\Users\hk\Documents\mysite\polls\views.py", line 4, in <module>
    from django.urls import reverse
ImportError: No module named urls
Run Code Online (Sandbox Code Playgroud)

民调/ views.py

from django.shortcuts import get_object_or_404, render
from django.http import HttpResponseRedirect, HttpResponse
from django.urls import reverse

from .models import Choice, Question
# ...
Run Code Online (Sandbox Code Playgroud)

mysite的/ urls.py

from django.conf.urls import include, url
from django.contrib import admin

admin.autodiscover()

urlpatterns=[
url(r'^admin/', admin.site.urls),
url(r'^polls/', include('polls.urls')),
]
Run Code Online (Sandbox Code Playgroud)

mysite的/ mysite的/ urls.py

from django.conf.urls import include,url
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^polls/', include('polls.urls')), …
Run Code Online (Sandbox Code Playgroud)

python django

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

如何设置特定长度的特定伪造者随机字符串并使用下划线作为空格?

import factory.fuzzy
import faker
from core.strings import underscore_15

from factory import DjangoModelFactory, SubFactory


faker = faker.Factory.create()
class SubProjectFactory(DjangoModelFactory):
    class Meta:
        model = SubProject
        django_get_or_create = ("internal_name",)

    internal_name = factory.Faker('pystr')
    internal_short_name = factory.Faker('pystr')
    underscore_15 = factory.fuzzy.FuzzyText(length=15)
    main_project = SubFactory(MainProjectFactory)
Run Code Online (Sandbox Code Playgroud)

我需要字段 underscore_15 是一个小写字符串,具体长度只有 15 个字符,并且没有空格。如果有空格,应该加下划线。我试图在周围放置一个函数factory.fuzzy.FuzzyText(length=15)。然后我意识到我假设 FuzzyText 返回一个字符串,但它是一个 FuzzyText 对象。

我应该怎么办?

python string django faker factory-boy

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

首先检查字符串中每一行的几位数字,如果它们相等,则将这些行的一部分打印在一起

例如我有一个字符串是

textstring= """
0000 Onn ch=1 n=60 v=50   
0000 Onn ch=1 n=67 v=50
9600 Off ch=1 n=67 v=00
9600 Off ch=1 n=60 v=00
9600 Onn ch=1 n=62 v=50
9600 Onn ch=1 n=69 v=50
1920 Off ch=1 n=69 v=00
1920 Off ch=1 n=62 v=00
"""   
Run Code Online (Sandbox Code Playgroud)

例如9600,当行的前四位数字相等时,如何将 67/60/62/69 打印在一起?(来自 之后的四行中的每一行n=

我尝试过类似下面的方法,但我认为它没有按预期工作

for i, char in enumerate(textstring):
    if char=="O" and (textstring[i+1]=="f" or textstring[i+1]=="n"):
        if textstring[i-5]==textstring[i+18] and textstring[i-4]==textstring[i+19] and textstring[i-3]==textstring[i+20] and textstring[i-2]==textstring[i+21]:
            if char=="n" and textstring[i+1]=="=":  #we look for "n=" …
Run Code Online (Sandbox Code Playgroud)

python string python-3.x

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

/ admin / login /的Django :: OperationalError无法打开数据库文件

我知道已经有一个同样的问题,我也尝试过的解决方案,由于其但它力的工作对我来说因此我写我自己的问题。大家好,我正在使用apache2服务器部署django服务器,当我尝试我的主机ip地址时,它可以正常工作,因为它显示了它的“工作页面”,它也适用于IPADRESS / admin,但是在填写凭据并按Enter后,将产生此错误

***OperationalError at /admin/login/
unable to open database file***
Run Code Online (Sandbox Code Playgroud)

我的错误看起来像

Environment:


Request Method: POST
Request URL: http://192.168.1.105/admin/login/?next=/admin/

Django Version: 1.7.4
Python Version: 2.7.6
Installed Applications:
('django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'managementdashboard')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware')


Traceback:
File "/var/www/dashboardapp/env/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  111.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/var/www/dashboardapp/env/lib/python2.7/site-packages/django/views/decorators/cache.py" in _wrapped_view_func
  52.         response = view_func(request, *args, **kwargs)
File "/var/www/dashboardapp/env/lib/python2.7/site-packages/django/contrib/admin/sites.py" in login
  361.         return …
Run Code Online (Sandbox Code Playgroud)

django django-admin django-wsgi django-permissions

4
推荐指数
1
解决办法
5409
查看次数

Python完美数字

因此,我应该编写一个Python程序,该程序将以某个封闭的间隔[2,n](每行一个)识别并打印所有理想数。我们只需要使用嵌套的while循环/ if-else语句。我使用for循环以某种方式做到了,但使用while循环无法弄清楚。如果您能向我展示如何将我的代码转换为while循环,我将不胜感激。多谢你们。这是我所拥有的:

limit = int(input("enter upper limit for perfect number search: "))

for n in range(2, limit + 1):
    sum = 0
    for divisor in range(1, n):
        if not n % divisor:
            sum += divisor
        if sum == n:
            print(n, "is a perfect number")
Run Code Online (Sandbox Code Playgroud)

python python-3.x

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

错误:找不到“登录”。“登录”不是有效的视图函数或模式名称

这是我第一次使用 Django 登录模板,但遇到了问题。它一直说 login 不是一个有效的视图函数,但我在我的用户应用程序的 urls.py 中定义了它:

在此处输入图片说明

在此处输入图片说明

不知道我做错了什么。

主要网址.py

urlpatterns = [
    path('', include('blogging_logs.urls', namespace='blogging_logs')),
    path('users/', include('users.urls', namespace='users')),
    path('admin/', admin.site.urls),
]
Run Code Online (Sandbox Code Playgroud)

应用程序: blogging_logs:base.html

<p>
  <a href="{% url 'blogging_logs:index' %}">Home</a>
  <a href="{% url 'blogging_logs:categories' %}">Categories</a>
  {% if user.is_authenticated %}
    Hello, {{ user.username }}.
    {% else %}
      <a href="{% url 'users:login' %}"> login in</a>
  {% endif %}
</p>

{% block content %}{% endblock content %}
Run Code Online (Sandbox Code Playgroud)

应用程序:用户:urls.py

from django.contrib import admin
from django.urls import re_path, path
from django.contrib.auth import authenticate, login
from django.contrib.auth …
Run Code Online (Sandbox Code Playgroud)

python django url

4
推荐指数
1
解决办法
5330
查看次数

无法使用 pip 安装软件包(SSL:CERTIFICATE_VERIFY_FAILED)

我一直无法下载任何软件包,pip并且我不断收到有关确认 SSL 证书问题的相同错误。我目前在我大学的网络上,我的笔记本电脑上也安装了 Anaconda。我不确定这两个因素是否与这个问题有关。

我正在使用pythonversion 3.7.0pipversion9.0.1pip3version 10.0.1

当我pip install django在终端中输入时,我得到以下结果:

Collecting django
  Could not fetch URL https://pypi.python.org/simple/django/:
     There was a problem confirming the ssl certificate: 
     [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749)
     - skipping
  Could not find a version that satisfies the requirement django (from versions: )
No matching distribution found for django
Run Code Online (Sandbox Code Playgroud)

我已经阅读了其他几个主题。我试过这样的命令没有成功:

curl https://bootstrap.pypa.io/get-pip.py | python3
pip install --upgrade pip
pip install --trusted-host pypi.org --trusted-host …
Run Code Online (Sandbox Code Playgroud)

python django pip python-3.x

4
推荐指数
1
解决办法
8831
查看次数