RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题

问题[django]

Martin Hope
Alex P
Asked: 2025-02-03 02:05:47 +0000 UTC

如何使用 gunicorn 为 django 配置 nginx?

  • 4

有这样一个设置文件nginx:

# Default server configuration
server {
        listen 80 default_server;
        listen [::]:80 default_server;

        root /var/www/html;

        # Add index.php to the list if you are using PHP
        index index.html index.htm index.nginx-debian.html;

        # server_name _;
        server_name amodule.su www.amodule.su;

        # my adding ++
        location / {
                proxy_pass http://fa052d9c8361.vps.myjino.ru:8001;
                proxy_set_header X-Forwarded-Host $server_name;
                proxy_set_header X-Real-IP $remote_addr;
                # add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
                # add_header Access-Control-Allow-Origin *;
        }
        # my adding --

}

# Virtual Host configuration for example.com
server {
        listen [::]:443 ssl ipv6only=on;
        listen 443 ssl;

        ssl_certificate /etc/letsencrypt/live/amodule.su/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/amodule.su/privkey.pem;

        include /etc/letsencrypt/options-ssl-nginx.conf;
        ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

        root /var/www/html;

        # Add index.php to the list if you are using PHP
        index index.html index.htm index.nginx-debian.html;

        server_name amodule.su www.amodule.su; # managed by Certbot

        # my adding ++
        location / {
                # try_files $uri/ /index.html;
                proxy_pass  http://fa052d9c8361.vps.myjino.ru:8001;
                # proxy_pass http://127.0.0.1:8001;
                proxy_set_header Host $host; # ++
                proxy_set_header X-Forwarded-Host $server_name;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # ++
                proxy_set_header X-Forwarded-Proto $scheme;   # ++
                # add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
                # add_header Access-Control-Allow-Origin *;
        }
        # my adding --

        # ssl ubral ++
        # listen [::]:443 ssl ipv6only=on; # managed by Certbot
        # listen 443 ssl; # managed by Certbot

        # ssl_certificate /etc/letsencrypt/live/amodule.su/fullchain.pem; # managed by Certbot
        # ssl_certificate_key /etc/letsencrypt/live/amodule.su/privkey.pem; # managed by Certbot

        # include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
        # ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
        # ssl ubral --

}

# ssl ubral ++
server {
    if ($host = amodule.su) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    listen 80 ;
    listen [::]:80 ;

    server_name amodule.su www.amodule.su;
    return 404; # managed by Certbot
}
# ssl ubral --

为了使用 SSL,我使用了 Letsencrypt。
我还更改了设置settings.py

ALLOWED_HOSTS = [
        'www.amodule.su',
        'amodule.su',
        'fa052d9c8361.vps.myjino.ru',
        '127.0.0.1',
        'localhost',
        ]

SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
SECURE_SSL_REDIRECT = True                                      # redirect all queries to HTTPS
SESSION_COOKIE_SECURE = True                                    # use secure cookies
CSRF_COOKIE_SECURE = True                                       # use secure CSRF cookies

但它不起作用..

我做错什么了?

django
  • 2 个回答
  • 67 Views
Martin Hope
zane
Asked: 2024-12-22 19:47:12 +0000 UTC

django 用户“postgres”中的 postgresql 授权未经过身份验证(Ident)

  • 5

我想将 postgresql 连接到我的 django 应用程序,我刚刚下载了 postgresql。我按照网上的说明做了一切:我改变了settings.py

DATABASES = {
    "default": {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'postgres',
        'USER': 'postgres',
        'PASSWORD': '12345678',
        'HOST': '127.0.0.1',
        'PORT': '',
    }
}

创建了一个数据库test和一个国家表,填写了它,以不同的方式更改了它,正如他们在互联网上所写的那样,该文件var/lib/pgsql/data/pg_hba.conf 创建了一个用户,授予了数据库的权限,出现了一个 Fedora 错误:

Traceback (most recent call last):
  File "/home/azat/.local/lib/python3.12/site-packages/django/db/backends/base/base.py", line 279, in ensure_connection
    self.connect()
  File "/home/azat/.local/lib/python3.12/site-packages/django/utils/asyncio.py", line 26, in inner
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/home/azat/.local/lib/python3.12/site-packages/django/db/backends/base/base.py", line 256, in connect
    self.connection = self.get_new_connection(conn_params)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/azat/.local/lib/python3.12/site-packages/django/utils/asyncio.py", line 26, in inner
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/home/azat/.local/lib/python3.12/site-packages/django/db/backends/postgresql/base.py", line 332, in get_new_connection
    connection = self.Database.connect(**conn_params)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/azat/.local/lib/python3.12/site-packages/psycopg/connection.py", line 119, in connect
    raise last_ex.with_traceback(None)
psycopg.OperationalError: connection failed: connection to server at "127.0.0.1", port 5432 failed: ВАЖНО:  пользователь "postgres" не прошёл проверку подлинности (Ident)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/azat/Документы/test/manage.py", line 22, in <module>
    main()
  File "/home/azat/Документы/test/manage.py", line 18, in main
    execute_from_command_line(sys.argv)
  File "/home/azat/.local/lib/python3.12/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line
    utility.execute()
  File "/home/azat/.local/lib/python3.12/site-packages/django/core/management/__init__.py", line 436, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/azat/.local/lib/python3.12/site-packages/django/core/management/base.py", line 413, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/azat/.local/lib/python3.12/site-packages/django/core/management/base.py", line 459, in execute
    output = self.handle(*args, **options)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/azat/.local/lib/python3.12/site-packages/django/core/management/base.py", line 107, in wrapper
    res = handle_func(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/azat/.local/lib/python3.12/site-packages/django/core/management/commands/migrate.py", line 118, in handle
    executor = MigrationExecutor(connection, self.migration_progress_callback)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/azat/.local/lib/python3.12/site-packages/django/db/migrations/executor.py", line 18, in __init__
    self.loader = MigrationLoader(self.connection)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/azat/.local/lib/python3.12/site-packages/django/db/migrations/loader.py", line 58, in __init__
    self.build_graph()
  File "/home/azat/.local/lib/python3.12/site-packages/django/db/migrations/loader.py", line 235, in build_graph
    self.applied_migrations = recorder.applied_migrations()
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/azat/.local/lib/python3.12/site-packages/django/db/migrations/recorder.py", line 89, in applied_migrations
    if self.has_table():
       ^^^^^^^^^^^^^^^^
  File "/home/azat/.local/lib/python3.12/site-packages/django/db/migrations/recorder.py", line 63, in has_table
    with self.connection.cursor() as cursor:
         ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/azat/.local/lib/python3.12/site-packages/django/utils/asyncio.py", line 26, in inner
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/home/azat/.local/lib/python3.12/site-packages/django/db/backends/base/base.py", line 320, in cursor
    return self._cursor()
           ^^^^^^^^^^^^^^
  File "/home/azat/.local/lib/python3.12/site-packages/django/db/backends/base/base.py", line 296, in _cursor
    self.ensure_connection()
  File "/home/azat/.local/lib/python3.12/site-packages/django/utils/asyncio.py", line 26, in inner
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/home/azat/.local/lib/python3.12/site-packages/django/db/backends/base/base.py", line 278, in ensure_connection
    with self.wrap_database_errors:
  File "/home/azat/.local/lib/python3.12/site-packages/django/db/utils.py", line 91, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "/home/azat/.local/lib/python3.12/site-packages/django/db/backends/base/base.py", line 279, in ensure_connection
    self.connect()
  File "/home/azat/.local/lib/python3.12/site-packages/django/utils/asyncio.py", line 26, in inner
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/home/azat/.local/lib/python3.12/site-packages/django/db/backends/base/base.py", line 256, in connect
    self.connection = self.get_new_connection(conn_params)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/azat/.local/lib/python3.12/site-packages/django/utils/asyncio.py", line 26, in inner
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/home/azat/.local/lib/python3.12/site-packages/django/db/backends/postgresql/base.py", line 332, in get_new_connection
    connection = self.Database.connect(**conn_params)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/azat/.local/lib/python3.12/site-packages/psycopg/connection.py", line 119, in connect
    raise last_ex.with_traceback(None)
django.db.utils.OperationalError: connection failed: connection to server at "127.0.0.1", port 5432 failed: ВАЖНО:  пользователь "postgres" не прошёл проверку подлинности (Ident)

pg_hba.conf:

...


# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
local   replication     all                                     trust
host    replication     all             ::1/128                 trust

sudo -u postgres psql -U postgres -d postgres

使用命令SELECT * FROM "countries"; 一切正常

我可能没有注意到,但是该表称为“国家”,并且数据库显然是 postgres

\l

                                              Список баз данных
    Имя    | Владелец | Кодировка | Провайдер локали | LC_COLLATE  |  LC_CTYPE   | локаль ICU | Правила ICU |     Права доступа     
-----------+----------+-----------+------------------+-------------+-------------+------------+-------------+-----------------------
 postgres  | postgres | UTF8      | libc             | ru_RU.UTF-8 | ru_RU.UTF-8 |            |             | 
 template0 | postgres | UTF8      | libc             | ru_RU.UTF-8 | ru_RU.UTF-8 |            |             | =c/postgres          +
           |          |           |                  |             |             |            |             | postgres=CTc/postgres
 template1 | postgres | UTF8      | libc             | ru_RU.UTF-8 | ru_RU.UTF-8 |            |             | =c/postgres          +
           |          |           |                  |             |             |            |             | postgres=CTc/postgres
 test      | postgres | UTF8      | libc             | ru_RU.UTF-8 | ru_RU.UTF-8 |            |             | =Tc/postgres         +
           |          |           |                  |             |             |            |             | postgres=CTc/postgres+
           |          |           |                  |             |             |            |             | psqluser=CTc/postgres

\du+

                                         Список ролей
 Имя роли |                                Атрибуты                                 | Описание 
----------+-------------------------------------------------------------------------+----------
 postgres | Суперпользователь, Создаёт роли, Создаёт БД, Репликация, Пропускать RLS | 
 psqluser |                                                                         | 

当我在控制台中运行 psql 时,它会一直工作 ,直到我指定主机-h(尝试了 localhost 和 127.0.0.1)

尽管:

pg_isready -h 127.0.0.1 -p 5432

127.0.0.1:5432 - принимает подключения

没有任何帮助请告诉我

django
  • 1 个回答
  • 42 Views
Martin Hope
Joe
Asked: 2024-07-24 21:08:34 +0000 UTC

如何检查 Django 模板中变量是否存在

  • 5

我有一个 yml 文件,我以一个条件启动它

{% if inventory.parameters.access_groups.dev is defined %}
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: dev
  namespace: {{ inventory.parameters.namespace }}
...
{% endif %}

对于某些应用程序,此 inventory.parameters.access_groups.dev 参数将存在,但对于其他应用程序,则不会。

库存示例,其中:

parameters:
  access_groups:
    dev:
      - maingroup

据我了解,如果存在此参数 inventory.parameters.access_groups.dev,则只有条件内的执行才会发生。如果没有参数,则不应执行。

但是当我编译 kapitan 并且我引用的库存中没有这个变量时,我收到错误: Jinja2 error: failed to render /kapitan/templates/helm/app_rbac_dev.yml: Jinja2 TemplateError: 'dict object'没有属性“access_groups”,位于 /kapitan/templates/helm/app_rbac_dev.yml:1

请告诉我如何在 yml 中设置条件,以便在没有 inventory.parameters.access_groups.dev 变量的情况下,这种情况根本不会发生?使用“已定义”对我不起作用。

django
  • 1 个回答
  • 16 Views
Martin Hope
Joe
Asked: 2024-07-18 15:24:20 +0000 UTC

Django模板出现问题,无法使用YAML模板配置加载嵌套值

  • 7

我正在使用kapitan来创建config.yaml我的 Django 项目。
内容YAML template configuration:

kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: dev
  namespace: {{ inventory.parameters.namespace }}
subjects:
{% for groups in inventory.parameters.rbac.groups %}
  - kind: User
    name: {{ groups }}
    namespace: {{ inventory.parameters.namespace }}
{% endfor %}
roleRef:
  kind: Role
  name: dev
  apiGroup: rbac.authorization.k8s.io

这是变量文件的内容:

groups:
  beta:
    - test_user1
    - test_user2
  demo:
    - test_user3
    - test_user4

编译后我得到这个结果config.yaml:

kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: dev
  namespace: m-beta
subjects:
  - kind: User
    name: beta
    namespace: m-beta
  - kind: User
    name: demo
    namespace: m-beta
roleRef:
  kind: Role
  name: dev
  apiGroup: rbac.authorization.k8s.io

我如何更改这一行:

name: {{ groups }}

这样我就可以得到用户名:test_user1、test_user2、test_user3、test_user4,而不是组名?

结果config.yaml应包含以下内容:

kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: dev
  namespace: mvideo-beta
subjects:
  - kind: User
    name: test_user1
    namespace: m-beta
  - kind: User
    name: test_user2
    namespace: m-beta
  - kind: User
    name: test_user3
    namespace: m-beta
  - kind: User
    name: test_user4
    namespace: m-beta
roleRef:
  kind: Role
  name: dev
  apiGroup: rbac.authorization.k8s.io

谢谢你的帮助!

django
  • 1 个回答
  • 33 Views
Martin Hope
Mike
Asked: 2024-06-12 21:46:19 +0000 UTC

如何在 Django 中将两个模型组合成一个查询集

  • 5

我有两个模型 Item 和 UserRating。两种模型仅通过外键与用户关联。我需要从 UserRating 获取一个包含具有相同 id 的 user_id 的项目。

这是我的物品模型

class Item(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True)
    name = models.CharField(max_length=255, null=True, blank=True)

这就是 UserRating 模型

class UserRating(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True)
    rate = models.DecimalField(max_digits=6, decimal_places=1)
django
  • 1 个回答
  • 15 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5