首页 > 解决方案 > 我在处理 django 项目时无法修复错误,TypeError: expected str, bytes or os.PathLike object, not function

问题描述

我收到以下错误..请帮助。提前致谢。发布了完整的错误以及回溯

这是我的views.py 代码

def details_view(request):
    context={}
    user=request.user
    if not user.is_authenticated:
        return HttpResponse('Please login')
    form=DetailsForm(request.POST or None, request.FILES or None)
    if form.is_valid():
        obj=form.save(commit=False)
        student=Account.objects.filter(email=user.email).first()
        obj.student=student
        obj.save()
        form=DetailsForm()
    context['form']=form
    return render(request,'account/details.html',context)

Exception in thread django-main-thread:
Traceback (most recent call last):
  File "C:\Users\lenovo\AppData\Local\Programs\Python\Python38\lib\threading.py", line 932, in _bootstrap_inner
    self.run()
  File "C:\Users\lenovo\AppData\Local\Programs\Python\Python38\lib\threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "C:\Users\lenovo\AppData\Local\Programs\Python\Python38\lib\site-packages\django\utils\autoreload.py", line 54, in wrapper
    fn(*args, **kwargs)
  File "C:\Users\lenovo\AppData\Local\Programs\Python\Python38\lib\site-packages\django\core\management\commands\runserver.py", line 117, in inner_run    
    self.check(display_num_errors=True)
  File "C:\Users\lenovo\AppData\Local\Programs\Python\Python38\lib\site-packages\django\core\management\base.py", line 387, in check
    all_issues = self._run_checks(
  File "C:\Users\lenovo\AppData\Local\Programs\Python\Python38\lib\site-packages\django\core\management\base.py", line 377, in _run_checks
    return checks.run_checks(**kwargs)
  File "C:\Users\lenovo\AppData\Local\Programs\Python\Python38\lib\site-packages\django\core\checks\registry.py", line 72, in run_checks
    new_errors = check(app_configs=app_configs)
  File "C:\Users\lenovo\AppData\Local\Programs\Python\Python38\lib\site-packages\django\core\checks\urls.py", line 40, in check_url_namespaces_unique     
    all_namespaces = _load_all_namespaces(resolver)
  File "C:\Users\lenovo\AppData\Local\Programs\Python\Python38\lib\site-packages\django\core\checks\urls.py", line 57, in _load_all_namespaces
    url_patterns = getattr(resolver, 'url_patterns', [])
  File "C:\Users\lenovo\AppData\Local\Programs\Python\Python38\lib\site-packages\django\utils\functional.py", line 80, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "C:\Users\lenovo\AppData\Local\Programs\Python\Python38\lib\site-packages\django\urls\resolvers.py", line 584, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "C:\Users\lenovo\AppData\Local\Programs\Python\Python38\lib\site-packages\django\utils\functional.py", line 80, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "C:\Users\lenovo\AppData\Local\Programs\Python\Python38\lib\site-packages\django\urls\resolvers.py", line 577, in urlconf_module
    return import_module(self.urlconf_name)
  File "C:\Users\lenovo\AppData\Local\Programs\Python\Python38\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 783, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "C:\Users\lenovo\Desktop\Projects\TrainedGrad_s\modelrelation\urls.py", line 33, in <module>
    url('',include('newapp.urls')),
  File "C:\Users\lenovo\AppData\Local\Programs\Python\Python38\lib\site-packages\django\urls\conf.py", line 34, in include
    urlconf_module = import_module(urlconf_module)
  File "C:\Users\lenovo\AppData\Local\Programs\Python\Python38\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 783, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "C:\Users\lenovo\Desktop\Projects\TrainedGrad_s\newapp\urls.py", line 5, in <module>
    Path('details',views.details_view),
  File "C:\Users\lenovo\AppData\Local\Programs\Python\Python38\lib\pathlib.py", line 1018, in __new__
    self = cls._from_parts(args, init=False)
  File "C:\Users\lenovo\AppData\Local\Programs\Python\Python38\lib\pathlib.py", line 667, in _from_parts
    drv, root, parts = self._parse_args(args)
  File 

“C:\Users\lenovo\AppData\Local\Programs\Python\Python38\lib\pathlib.py”,第 651 行,在 _parse_args a = os.fspath(a) TypeError: expected str, bytes or os.PathLike object,不起作用

网址.py

from django.conf.urls import url,include
from account import views
from django.conf import settings
from django.conf.urls.static import static
from products.views import products_view

urlpatterns = [
    url('admin/', admin.site.urls),
    url('home',views.home_view,name='home'),
    url('register/',views.registration_view,name='register'),
    url('data/',views.data_view,name='data'),
    url('logout',views.logout_view,name='logout'),
    url('login',views.loginform_view,name='login'),
    url('account',views.account_view,name='account'),
    url('products',products_view,name='products'),
    url('',include('studentapp.urls')),
    url('student',include('newapp.urls')),

]

if settings.DEBUG:
    urlpatterns += static(settings.STATIC_URL,document_root=settings.STATIC_ROOT)
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT

)

标签: pythondjango

解决方案


推荐阅读