【发布时间】:2019-10-07 12:12:42
【问题描述】:
我正在尝试使用 Django 创建数据库并将其填入 URL 但我收到此错误:
File "C:\Final\vj_2\vj_2\app_1\views.py", line 12
'naslov'=naslov,
^ SyntaxError: keyword can't be an expression
我不知道我在这里缺少什么以及为什么它不起作用。
这是我的看法:
def dodajClanak(request, naslov, datumObjave, autor):
clan = Clanak(
'naslov'=naslov,
'datumObjave'=datumObjave,
'autor'=autor
)
clan.save()#ako podaci nisu dobri throwat ce error
return render(request, 'allapp.html', {'data': naslov + ' ' + datumObjave + ' ' + autor})
还有我的模特:
class Clanak(models.Model):
naslov = models.CharField(null=False, blank=True, max_length=120)
#naslov = models.DecimalField(null=False, blank=False, decimal_places=1, max_digits=5)
datumObjave = models.DateField(null=False, blank=False)
autor = models.CharField(null=False, blank=True, max_length=50)
def __str__(self):
return str(self.naslov) + ', ' + str(self.datumObjave) + ', ' + str(self.autor)
完整的错误日志:
线程 django-main-thread 中的异常:Traceback(最近调用 最后):文件 "c:\users\%username%\appdata\local\programs\python\python37-32\Lib\threading.py", 第 917 行,在 _bootstrap_inner self.run() 文件 "c:\users\%username%\appdata\local\programs\python\python37-32\Lib\threading.py", 第 865 行,运行中 self._target(*self._args, **self._kwargs) 文件 "C:\Final\vj_2\venv\lib\site-packages\django\utils\autoreload.py", 第 54 行,在包装器中 fn(*args, **kwargs) 文件 "C:\Final\vj_2\venv\lib\site-packages\django\core\management\commands\runserver.py", 第 117 行,inner_run self.check(display_num_errors=True) 文件 "C:\Final\vj_2\venv\lib\site-packages\django\core\management\base.py", 第 390 行,检查中 include_deployment_checks=include_deployment_checks,文件“C:\Final\vj_2\venv\lib\site-packages\django\core\management\base.py”, 第 377 行,在 _run_checks 返回 checks.run_checks(**kwargs) 文件 "C:\Final\vj_2\venv\lib\site-packages\django\core\checks\registry.py", 第 72 行,在 run_checks 中 new_errors = check(app_configs=app_configs) 文件 "C:\Final\vj_2\venv\lib\site-packages\django\core\checks\urls.py", 第 13 行,在 check_url_config 中 返回 check_resolver(resolver) 文件 "C:\Final\vj_2\venv\lib\site-packages\django\core\checks\urls.py", 第 23 行,在 check_resolver 中 返回 check_method() 文件“C:\Final\vj_2\venv\lib\site-packages\django\urls\resolvers.py”,行 398,检查中 对于 self.url_patterns 中的模式:文件“C:\Final\vj_2\venv\lib\site-packages\django\utils\functional.py”, 第 80 行,在 get res = instance.dict[self.name] = self.func(instance) File "C:\Final\vj_2\venv\lib\site-packages\django\urls\resolvers.py",线 第579章 模式= getattr(self.urlconf_module,“urlpatterns”,self.urlconf_module)文件 "C:\Final\vj_2\venv\lib\site-packages\django\utils\functional.py", 第 80 行,在 get res = instance.dict[self.name] = self.func(instance) File "C:\Final\vj_2\venv\lib\site-packages\django\urls\resolvers.py",线 572,在 urlconf_module 中 返回 import_module(self.urlconf_name) 文件“C:\Final\vj_2\venv\lib\importlib__init__.py”,第 127 行,在 导入模块 return _bootstrap._gcd_import(name[level:], package, level) File "", line 1006, in _gcd_import File "",第 983 行,在 _find_and_load 文件中 "",第 967 行,在 _find_and_load_unlocked 文件“”,第 677 行,在 _load_unlocked
文件“”,第 728 行,在 exec_module 文件“”,第 219 行,在 _call_with_frames_removed 文件“C:\Final\vj_2\vj_2\vj_2\urls.py”,第 18 行,在 从 app_1 导入视图文件“C:\Final\vj_2\vj_2\app_1\views.py”,第 12 行 “纳斯洛夫”=纳斯洛夫, ^ SyntaxError: 关键字不能是表达式
urls.py
from django.contrib import admin
from django.urls import path, re_path
from app_1 import views
urlpatterns = [
path('admin/', admin.site.urls),
path('home/', views.home),
re_path('add/(?P<naslov>[a-zA-Z]+/(?P<datumObjave>[0-9]+)/(?P<autor>[a-zA-Z]+', views.dodajClanak),
]
【问题讨论】:
-
'datum_objave'-->datumObjave? -
@Rakesh 我解决了这个问题,但在“Naslov”上仍然出现同样的错误
-
你能发布你的完整错误吗?
-
@Rakesh 我发布了完整的错误日志
-
@justStarting 显示您的网址代码
标签: python django django-views