Django编程问题集锦一

本文汇总了在使用Django编程时遇到的三个主要问题及其解决方案:问题一涉及外键设置,需添加'on_delete=models.CASCADE'参数;问题二关于URL命名空间不唯一,删除重复的命名空间引入即可;问题三是运行时异常,可能由于导入模块时的错误,重启服务器可解决;问题四是模板中反转URL错误,修正模板中的参数引用为topic.id。
摘要由CSDN通过智能技术生成

问题一:

在执行python manage.py makemigrations learning_logs时,系统会报错,提示:TypeError: __init__() missing 1 required positional argument: 'on_delete'

 

缺少参数,修改指定外键的方式,设置级联更新参数:

topic = models.ForeignKey(Topic, on_delete=models.CASCADE)

 

问题二:

?: (urls.W005) URL namespace 'learning_logs' isn't unique. You may not be able to reverse all URLs in this namespace

根目录的urls.py文件中

from django.contrib import admin
from django.urls import path

from django.urls import include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('learning_logs.urls', namespace='learning_logs')),
    path('topics/', include('learning_logs.urls', namespace='learning_logs')), #删除此行即可,只需要添加一次命名空间

    #你包括learning_logs.urls两次。虽然这在一个方向上工作正常,但它无法逆转,因为会有两个结果。基于反向映射器

     #的所有函数将无法按预期工作。
]

 

问题三:

Unhandled exception in thread started by <function check_errors.<locals>.wrapper
 at 0x0000000003CC9D90>
Traceback (most recent call last):
  File "E:\python\learning_log\ll_env\lib\site-packages\django\utils\autoreload.
py", line 225, in wrapper
    fn(*args, **kwargs)
  File "E:\python\learning_log\ll_env\lib\site-packages\django\core\management\c
ommands\runserver.py", line 117, in inner_run
    self.check(display_num_errors=True)
  File "E:\python\learning_log\ll_env\lib\site-packages\django\core\management\b
ase.py", line 379, in check
    include_deployment_checks=include_deployment_checks,
  File "E:\python\learning_log\ll_env\lib\site-packages\django\core\management\b
ase.py", line 366, in _run_checks
    return checks.run_checks(**kwargs)
  File "E:\python\learning_log\ll_env\lib\site-packages\django\core\checks\regis
try.py", line 71, in run_checks
    new_errors = check(app_configs=app_configs)
  File "E:\python\learning_log\ll_env\lib\site-packages\django\core\checks\urls.
py", line 40, in check_url_namespaces_unique
    all_namespaces = _load_all_namespaces(re

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值