জ্যাঙ্গো 1.7 টি জ্যাঙ্গো.কম.অপত্তিগুলি নিক্ষেপ করে।


166

এটি আমার উইন্ডোজ সিস্টেমে ট্রেসব্যাক।

Traceback (most recent call last):
  File "D:\AMD\workspace\steelrumors\manage.py", line 9, in <module>
    django.setup()
  File "D:\AMD\Django\django-django-4c85a0d\django\__init__.py", line 21, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "D:\AMD\Django\django-django-4c85a0d\django\apps\registry.py", line 108, in populate
    app_config.import_models(all_models)
  File "D:\AMD\Django\django-django-4c85a0d\django\apps\config.py", line 197, in import_models
    self.models_module = import_module(models_module_name)
  File "C:\Python27\lib\importlib\__init__.py", line 37, in import_module
    __import__(name)
  File "C:\Python27\lib\site-packages\registration\models.py", line 15, in <module>
    User = get_user_model()
  File "D:\AMD\Django\django-django-4c85a0d\django\contrib\auth\__init__.py", line 135, in get_user_model
    return django_apps.get_model(settings.AUTH_USER_MODEL)
  File "D:\AMD\Django\django-django-4c85a0d\django\apps\registry.py", line 199, in get_model
    self.check_models_ready()
  File "D:\AMD\Django\django-django-4c85a0d\django\apps\registry.py", line 131, in check_models_ready
    raise AppRegistryNotReady("Models aren't loaded yet.")
django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.

এবং আমার ম্যানেজ.পিটি দেখতে এমন দেখাচ্ছে:

import os
import sys
import django

if __name__ == "__main__":

    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "steelrumors.settings")
    django.setup()
    from django.core.management import execute_from_command_line

    execute_from_command_line(sys.argv)

আমি জাঙ্গো ১. 1.-এ রেজিস্ট্রেশন অ্যাপটি ব্যবহার করার চেষ্টা করার সময় আমি এই ত্রুটিটি পেয়েছি


1
আপনার কাছে একটি ডিরেক্টরি রয়েছে django-django-4c85a0d; 4c85a0dএকটি (অ-স্থিতিশীল) জাজানো কমিট হ্যাশ হতে পারে। আমি বিশ্বাস করি না আপনি আসলে জ্যাঙ্গো 1.7 ব্যবহার করছেন (সিএফ আমার উত্তর)
ক্রিস্টিয়ান গ্লাস

আপনি কি কখনও আপনার সমস্যা সমাধান করেছেন?
নিক স্পেস্ক

এটি সম্পর্কিত হতে পারে venv। ভেন্ট ডিরেক্টরিটি পুনরুদ্ধার করা আমার জন্য এটি স্থির করে। `` `এমভি ভেনভ ভেন্ভ_ল্ড ভার্চুয়ালেনভ ভেনভ উত্স। ven ven ven ven v b Tho`
টমাস - বিডেস্ক

1
আমি আমার ম্যাকটিতে সেটিংস.পিপি-তে লগিং যুক্ত করার সময় আমি এই জাতীয় কিছু ত্রুটিও পূরণ করি, কারণ আমি /var/log/xx/debug.log এ একটি লগ ফাইল তৈরি করি এবং অনুমতি নেই, তাই আমি sudo ব্যবহার করি runserver এবং everthing fine.May সাহায্যের কিছু সমাকামীর হয়
gkiwi

দৌড়ানোর সময় আমি এই ত্রুটিটি দেখেছি docker-compose exec ...। সমস্যাটি হ'ল আমি কমান্ড ডকার-কমপোজ এক্সিকিউটে প্রয়োজনীয় পরিবেশের ভেরিয়েবলগুলি পার করছি না ।
ম্যাথু হেগার্টি

উত্তর:


59

এটিই আমাদের এবং এই ভাবীদের জন্য এটি সমাধান করেছে :

আমাদের প্রকল্পটি জাঙ্গো ২.৪ দিয়ে শুরু হয়েছিল, আমরা 1.5 এবং তারপর 1.7 এ চলেছি। আমাদের ডাব্লুএসজি.পি দেখতে এই রকম দেখায়:

import os

from django.core.handlers.wsgi import WSGIHandler

os.environ['DJANGO_SETTINGS_MODULE'] = 'myapp.settings'
application = WSGIHandler()

আমি যখন 1.7 স্টাইলের ডাব্লুএসজিআই হ্যান্ডলারে আপডেট করেছি:

import os

from django.core.wsgi import get_wsgi_application

os.environ['DJANGO_SETTINGS_MODULE'] = 'myapp.settings'
application = get_wsgi_application()

এখন সবকিছু কাজ করে।


1
আমি @ উইম থেকে সম্পাদনাটির সাথে একমত নই, কারণ আমি মনে করি আমাদের অপ্রয়োজনীয় আমদানি ছেড়ে দেওয়া উচিত, তবে যেহেতু আমি স্বয়ংক্রিয়ভাবে ডাব্লুএসজি.পি আগে কী দেখছিলাম, এবং আমার অনুলিপি করার পরে এটি কেমন দেখাচ্ছে তার একটি উদাহরণ দিচ্ছি 1.7 অটো-জেনারেটেড ডাব্লুএসজি.পি থেকে পার্থক্যগুলি
নিক স্পেস্ক

1
অটো-জেনারেটেড wsgi.pyফাইলের import sysমধ্যে এটি কখনও থাকে না। ২.৪-তে নয়, ২.৪-তে নয় এবং 1..৪-তেও নয়। যদি আপনার এটি সেখানে থাকে তবে এটি কারও দ্বারা ম্যানুয়ালি যুক্ত হয়েছিল - এটি জ্যাঙ্গো-অ্যাডমিন স্টার্টপ্রজেক্ট দ্বারা যুক্ত করা হয়নি।
উইম

জেনে রাখা ভাল, আমার ভুল (এবং স্মৃতিশক্তি খারাপ)। এটি তৈরির পরে বেশ কিছুক্ষণ হয়ে গেছে তবে আমি নিশ্চিত যে আমি সেই সময়ে বিল্টটি আচরণে নথির চেষ্টা করছিলাম।
নিক স্পেস্ক

236

এই আদেশগুলি চালানো আমার সমস্যার সমাধান করেছে ( এই উত্তরের কৃতিত্ব ):

import django
django.setup()

তবে আমি কেন জানি এটি নিশ্চিত নই। মন্তব্য প্রশংসা করা হবে।


12
দুঃখিত, আমি ব্রেকিং পরিবর্তনগুলি সম্পর্কে জাজানো ১.7 রিলিজ নোটে যা পড়েছি তা তোতা দিচ্ছি। docs.djangoproject.com/en/dev/reLives/1.7/… । মূলত, জ্যাঞ্জোর ইনস্টলড অ্যাপ্লিকেশনটি লোড করার একটি নতুন উপায় রয়েছে। আপনি যদি পাইথন স্ক্রিপ্ট থেকে জ্যাঙ্গো লোড করেন (যেমন আমি আমার কাস্টম ইউনিট পরীক্ষায় ছিলাম), কীভাবে এটি করা যায় সেটাকে () সেটআপ করার আগে কিছু সূচনা করা দরকার। দলটিকে ছাড়াই, আমার ১.6.২ থেকে ১.7.১ আপগ্রেডে এক ঘণ্টার আসল কাজ মনে হচ্ছে।
জেএল পেয়ারেট

12
আমি উপরের কমান্ডটি কোথায় চালাব? আমি এটিকে একটি .PY ফাইলে যুক্ত করব বা কী?
খোফি

1
আপনার ত্রুটিটি একই প্রসঙ্গে চালানো উচিত
নিমো

3
এটির যথাযথ উত্তর চিহ্নিত হওয়ার যোগ্যতার পর্যাপ্ত পরিমাণ রয়েছে
অ্যাসিড_ক্রিফিক্স

এটি কমান্ড-লাইন আপডেট স্ক্রিপ্টে থাকা একটি সমস্যার সমাধান করেছিল যা ১.7 এ চলে গেছে broke
জেসন চ্যাম্পিয়ন 1

58

সমস্যাটি আপনার নিবন্ধকরণ অ্যাপে। দেখে মনে হচ্ছে মডিউল স্তরে জ্যাঙ্গো-রেজিস্ট্রেশন কল get_user_module()রয়েছে models.py(যখন অ্যাপ্লিকেশন নিবন্ধকরণের প্রক্রিয়াগুলি এখনও মডেলগুলি লোড করা হয়)। এটি আর কাজ করবে না:

try:
    from django.contrib.auth import get_user_model
    User = get_user_model()
except ImportError:
    from django.contrib.auth.models import User    

আমি এই মডেলগুলির ফাইলটি কেবলমাত্র get_user_model()অভ্যন্তরীণ পদ্ধতিগুলিতে (এবং মডিউল স্তরে নয়) কল করতে এবং এফকেগুলিতে এমন কিছু ব্যবহার করতে চাই:

user = ForeignKey(settings.AUTH_USER_MODEL)

বিটিডাব্লু, django.setup()আপনার manage.pyফাইলে কল করার দরকার নেই , এটি আপনাকে জন্য ডাকা হয়েছে execute_from_command_line। ( উত্স )


এটি ভিতরে রাখা if __name__ == '__main__':আমার পক্ষে কাজ করে তবে আমি জানি না এটির কোনও ভাল সমাধান কিনা।
উমায়ের এ।

@ নিউট্রালাইজার আপনি কীভাবে এটি নিশ্চিত তা নিশ্চিত নন, তবে জাঙ্গো এই মডিউলটি আমদানি করায় এটি কাজ করা উচিত নয়। সম্ভবত আপনি ব্যবহারকারীর মডেলটি মোটেও আমদানি না করে বিজ্ঞপ্তি ডিপ এড়িয়ে চলেছেন।
gonz

1
মানে নাম চেকের ভিতরে এই লাইনগুলি রাখুন। এটি কার্যকর হতে পারে না। আমি পর্যাপ্ত পরীক্ষা করিনি।
উমায়ের এ।

18

সবেমাত্র একই সমস্যার মুখোমুখি। django-registrationDjango 1.7 ব্যবহারকারীর মডেলের সাথে বেমানান থাকার কারণে সমস্যা ।

একটি সহজ ফিক্স হল আপনার ইনস্টল করা django-registrationমডিউলটিতে কোডের এই লাইনগুলি পরিবর্তন করা ::

try:
    from django.contrib.auth import get_user_model
    User = get_user_model()
except ImportError:
    from django.contrib.auth.models import User  

প্রতি::

from django.conf import settings
try:
    from django.contrib.auth import get_user_model
    User = settings.AUTH_USER_MODEL
except ImportError:
    from django.contrib.auth.models import User 

খনিতে .venv/local/lib/python2.7/site-packages/registration/models.py(ভার্চুয়ালেনভ)


7
আপনি এর পরিবর্তে জাঙ্গো-নিবন্ধকরণ-রিডেক্স ব্যবহার করতে পারেন। এটি আপডেট হয়েছে এবং বজায় রাখা কাঁটাচামচ: github.com/macropin/django-regifications
টিজেএল

1
django-registration-reduxআমার জন্য সমস্যাটি স্থির করে (আমার কাছে
ওপি'র

1
জ্যাঙ্গো ১.৮-তে যে কেউ এর সাথে লড়াই করছে সে ক্ষেত্রে এটিও প্রযোজ্য।
অ্যান্ড্রু শুস্টার

14

এটি আমার জন্য জ্যাঙ্গো ১.৯ এর জন্য কাজ করে। কার্যকর করার জন্য পাইথন স্ক্রিপ্টটি ছিল জাঙ্গো প্রকল্পের মূল।

    import django 
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "PROJECT_NAME.settings")
    django.setup()
    from APP_NAME.models import *

আপনার কাছে PROJECT_NAME এবং APP_NAME সেট করুন


1
এটা আমার জন্য কাজ করে. তবে আমি জানি না কেন আমাদের কোডটি চালানো উচিত কেন আমরা ইতিমধ্যে আমাদের ডাব্লুএসজি ফাইলে এগুলি উল্লেখ করেছি।
মিস্টার কোড

5

আরেকটি বিকল্প হ'ল INSTALLED_APPS এ আপনার নকল প্রবেশ রয়েছে। আমি পরীক্ষিত দুটি পৃথক অ্যাপ্লিকেশনের জন্য এই ত্রুটিটি ফেলে দিয়েছিল। স্পষ্টতই এটি জাঙ্গো যাচাই করে এমন কিছু নয় তবে তারপরে একই অ্যাপটিকে দু'বার তালিকায় রাখার পক্ষে যথেষ্ট বোকা। আমি, সে কে।


2

ম্যানেজ.পি চালানোর আগে আপনার কী পাইথন ভার্চুয়াল পরিবেশ প্রবেশ করতে হবে?

আমি নিজেই এই ত্রুটির মধ্যে দৌড়েছি এবং এটিই সমস্যা ছিল।


2

আমি যখন জ্যাঙ্গোকম ব্যবহার করি এবং একটি প্লাগইন যুক্ত করি (তখন আমার ক্ষেত্রে: জ্যাঙ্গোকমস-ক্যাসকেড) আমি এই সমস্যাটিতে ছড়িয়ে পড়েছি। অবশ্যই INSTALLED_APPS এ প্লাগইনটি যুক্ত করতে হয়েছিল। তবে অর্ডারটি এখানে গুরুত্বপূর্ণ।

'সিমসপ্লাগিন_ক্যাসকেড' স্থাপন করার আগে 'সিমিএস' সমস্যা সমাধানের আগে।


1
অর্ডার ব্যাপার না:cms, mptt, menus, sekizai, filer, easy_thumbnails
ব্লেক

2

জঞ্জো-রেজিস্ট্রেশন-রিডেক্স == ১.১ এর পরিবর্তে জ্যাঙ্গো-রেজিস্ট্রেশন ইনস্টল করুন, যদি আপনি ডিজেঙ্গো ১. using ব্যবহার করেন


0

./manage.py migrate

এটি আমার সমস্যা সমাধান করেছে


এটি প্রশ্নের উত্তর সরবরাহ করে না। কোনও লেখকের কাছ থেকে সমালোচনা বা স্পষ্টতার জন্য অনুরোধ জানাতে, তাদের পোস্টের নীচে একটি মন্তব্য দিন। - পর্যালোচনা থেকে
জর্জ জেড।

@GeorgeZ। দেখে মনে হচ্ছে এটি প্রশ্নের উত্তর দেওয়ার একটি প্রচেষ্টা, এবং দৃশ্যত সমস্যাটি সমাধান করা হয়েছে যখন এই পোস্টারটি এতে প্রবেশ করল - এমনকি যদি আপনি এটি ভুল বলে মনে করেন বা আরও বিশদভাবে বর্ণনা করা উচিত, তবে প্রশ্নের উত্তর দেওয়ার একটি আসল প্রচেষ্টা পর্যালোচনা থেকে মুছে ফেলা উচিত নয়
CertainPerformance

-1

আপনার manage.py"ভুল"; আপনি এটি কোথা থেকে পেয়েছেন তা আমি জানি না, তবে এটি 1.7 নয়manage.py - আপনি কি কিছু মজার প্রাক-মুক্তির বিল্ড বা কিছু ব্যবহার করছেন?

manage.pyপ্রচলিত, নীচের মত আপনার পুনরায় সেট করুন এবং জিনিসগুলি কেবলমাত্র কাজ করা উচিত:

#!/usr/bin/env python
import os
import sys

if __name__ == "__main__":
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "{{ project_name }}.settings")

    from django.core.management import execute_from_command_line

    execute_from_command_line(sys.argv)

আমার মতো একটি ম্যানেজ.পি আছে এবং আমার এখনও এই সমস্যাটি রয়েছে
rmosolgo
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.