New python/Django người dùng (và thực sự mới để SO):Django: Hỗ trợ cho chuỗi xem đối số url() bị phản đối và sẽ được loại bỏ trong Django 1.10
Khi cố gắng để di chuyển dự án Django của tôi, tôi nhận được một lỗi:
RemovedInDjango110Warning: Support for string view arguments to url() is deprecated
and will be removed in Django 1.10 (got main.views.home). Pass the callable instead.
url(r'^$', 'main.views.home')
Dường như đối số thứ hai không thể là chuỗi nữa. Tôi đến để tạo ra mã này vì nó là thông qua một hướng dẫn tại pluralsight.com đó là giảng dạy làm thế nào để sử dụng Django với một phiên bản trước (Tôi hiện đang làm việc với 1,9). Giáo viên hướng dẫn chúng tôi tạo urlpatterns trong urls.py từ các chế độ xem mà chúng tôi tạo trong ứng dụng. Ngài dạy chúng ta để tạo ra một URLPATTERN như sau:
from django.conf.urls import url
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^$', 'main.views.home')
]
để tham khảo
def home(request):
return render(request, "main/home.html",
{'message': 'You\'ve met with a terrible fate, haven\'t you?'}) #this message calls HTML, not shown, not important for question
trong views.py của một ứng dụng "chính" mà tôi tạo ra.
Nếu phương pháp này không được chấp nhận, làm cách nào để chuyển đối số xem không phải là chuỗi? Nếu tôi chỉ cần loại bỏ các dấu ngoặc kép, như thể hiện trong tài liệu (https://docs.djangoproject.com/en/1.9/topics/http/urls/), tôi nhận được một lỗi:
NameError: name 'main' is not defined
Tôi cố gắng để quan điểm "nhập khẩu" hoặc chính sử dụng mã được trình bày trong tài liệu này:
from . import views
hoặc
from . import main
đó đã cho tôi:
ImportError: cannot import name 'views'
và
ImportError: cannot import name 'main'
Tôi tin rằng tôi đã bắt nguồn từ này xuống một lỗi nhập khẩu, và hiện đang nghiên cứu đó.
Chào mừng bạn đến tràn ngăn xếp.Django tại một thời điểm đã thay đổi cách bố trí bao giờ nên hơi. Tôi _think_ bạn muốn từ chế độ xem nhập chính, nhưng không chắc chắn ... bạn có thể thử điều đó không? – Foon
Có, tôi cũng đã kiểm tra phương thức đó và nó hoạt động theo cách sau: nếu sử dụng 'từ chế độ xem nhập chính' thì đối số url của bạn cần phải là 'url (..., views.home)', không 'url (..., main.views.home)' @joey wilhelm minh họa rằng bên dưới – AMadinger