#python #django #import #django-views #pycharm
#python #django #импорт #django-представления #pycharm
Вопрос:
Я только что запустил проект django, но я не могу импортировать функцию из views.py . Я выполнил несколько проектов с очень похожими настройками с помощью этого фреймворка, но без каких-либо проблем. Я использую virtualenv (и он активирован), windows10, pycharm.
#urls.py
from django.conf.urls import url
from django.contrib import admin
from WebShop.main_app import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^index/', views.index),
]
#views.py
def index(request):
return HttpResponse("<h1>Hi</h1>")
#cmd
File "C:Usersb021lDesktoppracticedjangoWebShopProjectenvlibsite-packagesdjangoutilsautoreload.py", line 226, in wrapper
fn(*args, **kwargs)
File "C:Usersb021lDesktoppracticedjangoWebShopProjectenvlibsite-packagesdjangocoremanagementcommandsrunserver.py", line 121, in inner_run
self.check(display_num_errors=True)
File "C:Usersb021lDesktoppracticedjangoWebShopProjectenvlibsite-packagesdjangocoremanagementbase.py", line 374, in check
include_deployment_checks=include_deployment_checks,
File "C:Usersb021lDesktoppracticedjangoWebShopProjectenvlibsite-packagesdjangocoremanagementbase.py", line 361, in _run_checks
return checks.run_checks(**kwargs)
File "C:Usersb021lDesktoppracticedjangoWebShopProjectenvlibsite-packagesdjangocorechecksregistry.py", line 81, in run_checks
new_errors = check(app_configs=app_configs)
File "C:Usersb021lDesktoppracticedjangoWebShopProjectenvlibsite-packagesdjangocorechecksurls.py", line 14, in check_url_config
return check_resolver(resolver)
File "C:Usersb021lDesktoppracticedjangoWebShopProjectenvlibsite-packagesdjangocorechecksurls.py", line 24, in check_resolver
for pattern in resolver.url_patterns:
File "C:Usersb021lDesktoppracticedjangoWebShopProjectenvlibsite-packagesdjangoutilsfunctional.py", line 35, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "C:Usersb021lDesktoppracticedjangoWebShopProjectenvlibsite-packagesdjangourlsresolvers.py", line 313, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "C:Usersb021lDesktoppracticedjangoWebShopProjectenvlibsite-packagesdjangoutilsfunctional.py", line 35, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "C:Usersb021lDesktoppracticedjangoWebShopProjectenvlibsite-packagesdjangourlsresolvers.py", line 306, in urlconf_module
return import_module(self.urlconf_name)
File "C:Usersb021lDesktoppracticedjangoWebShopProjectenvlibimportlib__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 986, in _gcd_import
File "<frozen importlib._bootstrap>", line 969, in _find_and_load
File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 665, in exec_module
File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
File "C:Usersb021lDesktoppracticedjangoWebShopProjectWebShopWebShopurls.py", line 19, in <module>
from WebShop.main_app import views
ImportError: No module named 'WebShop.main_app'
*Редактировать
Я также добавил virtualenv в интерпретатор проектов в pycharm.
кстати, моя файловая структура является базовой:
-WebShopProject
-env
-WebShop
-WebShop
-__init__.py
-settings.py
-urls.py .....
-main_app
-__init__.py
-views.py ...
**обновить
по-прежнему ничего.. Я переустановил python, заново запустил проект, обновил virtualenv, настроил virtualenv в качестве интерпретатора по умолчанию в pycharm, по-прежнему ничего.. Пытался поместить urls.py в моей папке ‘main_app’ и включил ее в ‘WebShop.urls.py ‘ и угадайте, что я не могу импортировать из той же папки..
* исправлено, я не знаю, что произошло, это только начало работать, возможно, это ошибка для Windows : / хотя спасибо за ответы.
Комментарии:
1. Включили ли вы приложение в свой
INSTALLED_APPS
вsettings.py
файл? Вы также можете попробоватьfrom WebShop import views
илиfrom main_app import views
, но это зависит от вашей файловой структуры.2. Да, это есть в установленных приложениях. Ни один из этих двух импортов не работает.. Я могу ввести только WebShop.main_app
3. Вы добавили
WebShop.main_app,
в свойINSTALLED_APPS
или толькоmain_app,
?4. Я добавил только main_app
5. Это должно быть правильно, но попробуйте также с
WebShop.main_app
.
Ответ №1:
из вашей файловой структуры кажется, что вам нужно сделать from main_app import views
Комментарии:
1. из представлений импорта main_app попробуйте это, надеюсь, это сработает
2. ну, я думаю, в каталоге вашего приложения должен быть файл init .py
3. Django генерирует ее, когда я создаю приложение