Django报错

1.ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?

ModuleNotFoundError: No module named 'typing_extensions'

pip uninstall typing_extensions

装载了全局中,导致虚拟环境中用不了

2.from django.utils.encoding import punycode

File "/home/u221080022/.local/lib/python3.10/site-packages/django/utils/encoding.py", line 5, in <module> from types import NoneType ImportError: cannot import name 'NoneType' from 'types' (/home/u221080022/.conda/envs/DJ/lib/python3.9/types.py)

python3.10删除了

修改:

try:
    from types import NoneType
except ImportError:
    NoneType = type(None)

3.Traceback (most recent call last):

File "manage.py", line 22, in <module> main() File "manage.py", line 11, in main from django.core.management import execute_from_command_line File "/home/u221080022/.local/lib/python3.10/site-packages/django/core/management/init.py", line 16, in <module> from django.apps import apps File "/home/u221080022/.local/lib/python3.10/site-packages/django/apps/init.py", line 2, in <module> from .registry import apps File "/home/u221080022/.local/lib/python3.10/site-packages/django/apps/registry.py", line 13, in <module> class Apps: File "/home/u221080022/.local/lib/python3.10/site-packages/django/apps/registry.py", line 168, in Apps @functools.cache AttributeError: module 'functools' has no attribute 'cache'

试了很多办法,改了很多东西,最后确定是由于虚拟环境的python版本3.9,服务器版本3.10导致问题

重新创建虚拟环境

4.Error: That port is already in use.

端口号占用; lsof -i 端口号

kill -9 进程号

5.Using the URLconf defined in my_run.urls, Django tried these URL patterns, in this order: index/ The current path, 127.0.0.1:8000/index/, didn’t match any of these.

主要问题是:Django开发服务器仅允许从本地主机(127.0.0.1localhost)访问

如果你在本地机器上需要访问服务器上打开的网页,可以按照以下步骤进行配置:

1. 确保Django服务器允许外部访问

默认情况下,Django开发服务器仅允许从本地主机(127.0.0.1localhost)访问

settings.py中,添加服务器的IP地址到 ALLOWED_HOSTS 列表:

ALLOWED_HOSTS = ['your_server_ip_address', 'localhost']

例如,如果服务器的IP地址是192.168.1.100,那么需要这样配置:

ALLOWED_HOSTS = ['192.168.1.100', 'localhost']

2. 启动Django服务器以允许所有IP访问

使用以下命令启动Django服务器,使其监听所有可用的网络接口:

python manage.py runserver 0.0.0.0:8000

这将使Django服务器在服务器的所有网络接口上监听8000端口。

3. 确保防火墙允许端口访问

检查服务器上的防火墙设置,确保允许8000端口的访问。如果你使用的是ufw(在Ubuntu上的防火墙),你可以使用以下命令:

sudo ufw allow 8000

4. 从本地机器访问服务器上的网页

假设你的服务器IP地址是192.168.1.100,你可以通过以下方式从本地机器访问服务器上的网页:

http://192.168.1.100:8000/
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值