۱ علی حشمتی
خطا در urls
جامعه پایتون (وب) ایجاد شده در ۰۳ اردیبهشت ۱۴۰۴

سلام این خطا رو از من میگیره لطفا راهنمایی کنید

error-8sm9lfrt.png

سلام وقت بخیر
مشکل دقیقاً از همین خط است:

from xml.etree.ElementInclude import include   # ← این باعث دردسر شده 

شما با این دستور، تابع include مربوط به کتابخانهٔ ‎xml.etree‎ را وارد کرده‌اید و در نتیجه وقتی در ‎urlpatterns‎ می‌نویسید include('blog.urls')، به-جای تابع ‌‫django.urls.include‬ (که برای آدرس‌دهی استفاده می‌شود) همان تابع XML صدا زده می‌شود و خطای
AttributeError: 'str' object has no attribute 'tag' ایجاد می‌شود.

راه‌حل

  1. خط وارد کردن تابع XML را پاک کنید یا اگر واقعاً به آن نیاز دارید، آن را با نام دیگری وارد کنید:
  2. 
    # اگر لازم بود 
    from xml.etree.ElementInclude import include as xml_include
    
  3. سپس تابع درست را از Django وارد کنید:

     

     

  4. from django.urls import path, include

کد نهایی فایل ‎academy/urls.py‎ باید چیزی شبیه این باشد:

from django.contrib import admin
from django.urls import path, include   # ← include درست همین است
urlpatterns = [
    path('admin/', admin.site.urls),
    path('blog/', include('blog.urls')),   # حالا بدون خطا کار می‌کند
]

حالا سرور را دوباره اجرا کنید (python manage.py runserver) و مسیر ‎/blog/‎ بدون خطا لود خواهد شد.
 موفق باشید

Reza Mobaraki ۰۵ اردیبهشت ۱۴۰۴، ۱۴:۱۸