คำถามติดแท็ก django

Django เป็นเว็บแอปพลิเคชันเฟรมเวิร์กฝั่งเซิร์ฟเวอร์แบบโอเพนซอร์ซเขียนด้วย Python มันถูกออกแบบมาเพื่อลดความพยายามที่จำเป็นในการสร้างเว็บไซต์และแอปพลิเคชั่นที่ขับเคลื่อนด้วยข้อมูลที่ซับซ้อนโดยให้ความสำคัญเป็นพิเศษกับรหัสที่น้อยลงไม่มีความซ้ำซ้อนและชัดเจนกว่าโดยปริยาย

12
ยอมรับที่อยู่อีเมลเป็นชื่อผู้ใช้ใน Django
มีวิธีที่ดีในการทำสิ่งนี้ใน django โดยไม่ต้องใช้ระบบการตรวจสอบสิทธิ์ของฉันเอง ฉันต้องการให้ชื่อผู้ใช้เป็นที่อยู่อีเมลของผู้ใช้แทนการสร้างชื่อผู้ใช้ กรุณาแนะนำขอบคุณ

11
ImportError: ไม่สามารถนำเข้าชื่อ 'หก' จาก 'django.utils'
ขณะนี้ฉันได้อัพเกรดรุ่น Django จาก2.0.6เป็น3.0และทันทีหลังจากเรียกpython manage.py shellคำสั่งได้รับข้อผิดพลาดนี้: ImportError: ไม่สามารถนำเข้าชื่อ 'หก' จาก 'django.utils' (/path-to-project/project/venv/lib/python3.7/site-packages/django/utils/ init .py ) ร่องรอยเต็ม: Traceback (most recent call last): File "manage.py", line 13, in <module> execute_from_command_line(sys.argv) File "/path-to-project/project/venv/lib/python3.7/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line utility.execute() File "/path-to-project/project/venv/lib/python3.7/site-packages/django/core/management/__init__.py", line 377, in execute django.setup() File "/path-to-project/project/venv/lib/python3.7/site-packages/django/__init__.py", line 24, in setup apps.populate(settings.INSTALLED_APPS) File "/path-to-project/project/venv/lib/python3.7/site-packages/django/apps/registry.py", …

2
วิธีการใช้ django 3.0 ORM ใน Jupyter Notebook โดยไม่ทริกเกอร์การตรวจสอบบริบทของ async?
Django 3.0 คือการเพิ่มasgi สนับสนุน / async และด้วยยามรอบทำให้การร้องขอการซิงโครในบริบท ขณะเดียวกันIPython เพิ่งเพิ่มระดับบนสุด async สนับสนุน / รอคอยซึ่งดูเหมือนว่าจะทำงานภายในเซสชั่นล่ามทั้งห่วงเหตุการณ์เริ่มต้น น่าเสียดายที่การรวมกันของการเพิ่มที่ยอดเยี่ยมทั้งสองนี้หมายความว่าการดำเนินการ django ORM ในสมุดบันทึก jupyter ทำให้เกิดSynchronousOnlyOperationข้อยกเว้น: SynchronousOnlyOperation: You cannot call this from an async context - use a thread or sync_to_async. ดังที่ข้อความแสดงข้อยกเว้นบอกว่าเป็นไปได้ที่จะรวมการเรียก ORM แต่ละครั้งในลักษณะที่sync_to_async()คล้ายกัน: images = await sync_to_async(Image.objects.all)() แต่ไม่สะดวกโดยเฉพาะอย่างยิ่งสำหรับฟิลด์ที่เกี่ยวข้องซึ่งโดยปกติจะได้รับการแก้ไขโดยปริยายในการค้นหาแอตทริบิวต์ (ฉันลอง%autoawait offใช้เวทย์มนตร์ แต่มันใช้งานไม่ได้จากการมองอย่างรวดเร็วที่เอกสารฉันคิดว่าเป็นเพราะ ipykernels มักจะทำงานในลูป asyncio) ดังนั้นมีวิธีการอย่างใดอย่างหนึ่งปิดการซิงค์ในบริบทการตรวจสอบ async …

3
Django - CreateView ไม่บันทึกฟอร์มด้วยชุดรูปแบบซ้อน
ฉันกำลังพยายามปรับวิธีการบันทึกชุดรูปแบบที่ซ้อนอยู่ด้วยแบบฟอร์มหลักโดยใช้คุณสมบัติการจัดวางแบบ Django-Crispy-Forms แต่ฉันไม่สามารถบันทึกได้ ฉันกำลังดังต่อไปนี้โครงการตัวอย่างรหัส แต่อาจไม่ได้รับการตรวจสอบ formset ในการบันทึกข้อมูล ฉันจะขอบคุณจริงๆถ้ามีคนชี้ให้เห็นความผิดพลาดของฉัน ฉันต้องเพิ่ม inline สามรายการในมุมมองเดียวกันสำหรับ EmployeeForm ฉันลองใช้ Django-Extra-Views แต่ไม่สามารถทำงานได้ จะขอบคุณถ้าคุณให้คำแนะนำสำหรับการเพิ่มมากกว่าหนึ่ง inlines สำหรับมุมมองเช่นเดียวกับรอบ 5. ทั้งหมดที่ฉันต้องการที่จะประสบความสำเร็จที่หน้าเดียวสำหรับการสร้างEmployeeและ inlines Education, Experience, Othersเช่น ด้านล่างเป็นรหัส: รุ่น: class Employee(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='employees', null=True, blank=True) about = models.TextField() street = models.CharField(max_length=200) city = models.CharField(max_length=200) country = models.CharField(max_length=200) cell_phone = models.PositiveIntegerField() …

3
มีวิธีการสร้างรหัสที่ไม่ซ้ำกันมากกว่า 2 ช่องหรือไม่?
นี่คือแบบจำลองของฉัน: class GroupedModels(models.Model): other_model_one = models.ForeignKey('app.other_model') other_model_two = models.ForeignKey('app.other_model') โดยพื้นฐานแล้วสิ่งที่ฉันต้องการคือother_modelการมีเอกลักษณ์ในตารางนี้ ซึ่งหมายความว่าหากมีการบันทึกที่other_model_oneID เป็น123ผมไม่ควรอนุญาตให้บันทึกอีกครั้งเพื่อให้ได้รับการสร้างขึ้นด้วยรหัสเป็นother_model_two 123ฉันสามารถแทนที่cleanฉันเดาได้ แต่ฉันสงสัยว่า django มีบางอย่างในตัวหรือไม่ ฉันใช้เวอร์ชั่น 2.2.5 กับ PSQL แก้ไข: นี่ไม่ใช่สถานการณ์ที่ไม่เข้าด้วยกัน หากฉันเพิ่มระเบียนด้วยother_model_one_id=1และอื่น ๆother_model_two_id=2ฉันไม่ควรเพิ่มระเบียนอื่นด้วยother_model_one_id=2และอื่น ๆother_model_two_id=1

2
Django: การเรียกใช้ Manage.py จะยกเลิกเสมอ
ฉันมีแอปพลิเคชั่น Django ที่ฉันพยายามตั้งค่าในเครื่อง หลังจากสร้างสภาพแวดล้อมเสมือนจริงและติดตั้งการพึ่งพาที่จำเป็นทั้งหมดแล้วให้เรียกใช้manage.pyเพียงยกเลิกโดยไม่มีข้อความแสดงข้อผิดพลาดที่เป็นประโยชน์อื่น ๆ (venv) $ python manage.py [1] 39973 abort python manage.py คำสั่งย่อยใด ๆ ที่ให้ไว้ก็แค่ยกเลิกและฉันก็พยายามหาวิธีที่จะแก้ปัญหาโดยไม่มีโชค รุ่นที่ใช้: python 3.6.8 Django 2.0.2 แก้ไข: ในที่สุดฉันก็พบปัญหา หากคุณใช้ macOS 10.15 (Catalina) สิ่งนี้อาจช่วยคุณได้: หนึ่งในการอ้างอิงคือcryptographyสิ่งที่ต้องใช้ openssl คุณสามารถติดตั้ง openssl ผ่านทาง brew แล้วเพิ่มลิงค์สัญลักษณ์ไปยัง: cd /usr/local/lib ln -s /usr/local/Cellar/openssl/1.0.2t/lib/libcrypto.1.0.0.dylib libcrypto.dylib ln -s /usr/local/Cellar/openssl/1.0.2t/lib/libssl.1.0.0.dylib libssl.dylib
12 python  django 

5
สำหรับการแปลงรหัส Python2 ถึง Python3 Python & Django เวอร์ชันใดเหมาะสมที่สุด?
ขณะนี้ฉันทำงานใน บริษัท ใหญ่ที่เราจำเป็นต้องแปลง pango2 โครงการใหญ่เก่า Django เป็น python3 ดังนั้นฉันได้ทำการวิจัยมากมายที่เกี่ยวข้อง แต่ก็ยังไม่สามารถหาคำตอบที่สมบูรณ์แบบที่เกี่ยวข้องกับเวอร์ชันของ Python และ Django ที่เหมาะสมที่สุดสำหรับการแปลง ปัจจุบันฉันใช้ Python: 2.7.16 และ Django: 1.9.13 ในรุ่นเก่าของฉัน ทุกคนสามารถแนะนำฉันให้เป็นรุ่นที่เหมาะสมที่สุดของ Python & Django สำหรับรุ่นเก่าที่เหนือกว่าสำหรับการแปลง python2 เป็น python3

1
ใช้หลายฐานข้อมูลใน Django ด้วยตารางเดียว“ django_migrations”
สำหรับโครงการใน Django ฉันต้องใช้สองฐานข้อมูล: เริ่มต้นและระยะไกล ฉันได้สร้างขึ้นrouters.pyและทุกอย่างทำงานได้ดี มีความต้องการที่จะสร้างตารางในฐานข้อมูลระยะไกลเป็นและฉันสร้างการโยกย้ายรันและตารางdjango_migrationsที่ถูกสร้างขึ้น ฉันต้องการมีเพียงหนึ่งตารางdjango_migrationsในฐานข้อมูลเริ่มต้น ส่วนที่เกี่ยวข้องrouters.pyอยู่ที่นี่: class MyRouter(object): # ... def allow_migrate(self, db, app_label, model_name=None, **hints): if app_label == 'my_app': return db == 'remote' return None ฉันใช้การย้ายข้อมูลแบบนี้: python manage.py migrate my_app --database=remote ตอนนี้เมื่อฉัน: python manage.py runserver ฉันได้รับคำเตือนต่อไปนี้: คุณมีการโยกย้ายที่ยังไม่ได้ใช้ 1 รายการ โครงการของคุณอาจทำงานไม่ถูกต้องจนกว่าคุณจะใช้การย้ายข้อมูลสำหรับแอป: my_app เรียกใช้ 'python Manage.py โยกย้าย' เพื่อใช้ ตารางสำหรับmy_appถูกสร้างขึ้นในremoteฐานข้อมูลและdjango_migrationsภายในremoteฐานข้อมูลจะมีการทำเครื่องหมายการย้ายข้อมูลเป็นใช้ …

1
เหตุใดจึงต้องสร้าง create_foo () ในรุ่น Django ผู้จัดการแทนการสร้าง ()
การอ่านเอกสาร Django ขอแนะนำให้สร้างวิธีการสร้างที่กำหนดเองสำหรับแบบจำลองที่มีชื่อFooโดยกำหนดไว้create_fooในตัวจัดการ: class BookManager(models.Manager): def create_book(self, title): book = self.create(title=title) # do something with the book return book class Book(models.Model): title = models.CharField(max_length=100) objects = BookManager() book = Book.objects.create_book("Pride and Prejudice") คำถามของฉันคือทำไมก่อนหน้านี้ชอบที่จะเอาชนะcreateวิธีการของชั้นฐาน: class BookManager(models.Manager): def create(self, title): book = self.model(title=title) # do something with the book book.save() return book …

1
Django REST Framework (DRF): TypeError: register () ได้รับอาร์กิวเมนต์คำหลักที่ไม่คาดคิด 'base_name'
ฉันได้รับการอัพเดทเป็นdjangorestframework==3.11.0เวอร์ชั่นเก่ากว่าแล้ว ตอนนี้ฉันได้รับข้อผิดพลาดนี้ TypeError: register () ได้รับอาร์กิวเมนต์คำหลักที่ไม่คาดคิด 'base_name' Traceback ... ... ... File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "/home/abu/projects/django-example/django2x/urls.py", line 21, in <module> path('sample/', include('sample.urls')), File "/home/abu/.virtualenvs/django-example/lib/python3.6/site-packages/django/urls/conf.py", line 34, in include urlconf_module = import_module(urlconf_module) File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 994, …

5
การสร้างแบบจำลองที่มีทางเลือกสองทาง แต่ต้องเป็นรหัสต่างประเทศที่จำเป็น
ปัญหาของฉันคือฉันมีรูปแบบที่สามารถนำหนึ่งในสองคีย์ต่างประเทศมาบอกว่าเป็นรุ่นอะไร ฉันต้องการที่จะใช้เวลาอย่างน้อยหนึ่ง แต่ไม่ใช่ทั้งสองอย่าง ฉันขอแบบนี้ยังคงเป็นรุ่นเดียวได้หรือควรแยกเป็นสองแบบ นี่คือรหัส: class Inspection(models.Model): InspectionID = models.AutoField(primary_key=True, unique=True) GroupID = models.ForeignKey('PartGroup', on_delete=models.CASCADE, null=True, unique=True) SiteID = models.ForeignKey('Site', on_delete=models.CASCADE, null=True, unique=True) @classmethod def create(cls, groupid, siteid): inspection = cls(GroupID = groupid, SiteID = siteid) return inspection def __str__(self): return str(self.InspectionID) class InspectionReport(models.Model): ReportID = models.AutoField(primary_key=True, unique=True) InspectionID = …

8
เซิร์ฟเวอร์ Django หยุดทันทีหลังจากลงชื่อเข้าใช้หน้าผู้ดูแลระบบ
พยายามเข้าสู่หน้า django admin ทันทีหลังจากคลิกปุ่มเข้าสู่ระบบ django server หยุด ใหม่สำหรับ Django ที่พยายามสร้างโครงการในสภาพแวดล้อมเสมือนจริงโดยใช้ venv เหล่านี้เป็นขั้นตอนต่อไปนี้ที่ฉันทำ 1. สร้างโฟลเดอร์ชื่อ api 2. สร้างสภาพแวดล้อมเสมือนจริงโดยใช้ python -m venv vapi 3. ติดตั้ง django และทำการโยกย้ายเริ่มต้นจากนั้นสร้างผู้ใช้ขั้นสูง pip install django django-admin startproject library . python manage.py migrate python manage.py createsuperuser ตอนนี้พยายามลงชื่อเข้าใช้ django adminpage ฉันไม่ได้เปลี่ยนแปลงอะไรในไฟล์ set.py ใช้ฐานข้อมูลเริ่มต้น sqllite หลาม 3.7 django-admin 3.0
9 python  django 

1
วิธีการ "โหลด" ขึ้นอยู่กับเลื่อนลงเมื่อโหลดหน้า?
ฉันมีแบบฟอร์มที่มีรายการแบบหล่นลง เมนูแบบเลื่อนลงที่สองนี้จะถูกซ่อนไว้เมื่อใดก็ตามที่ตัวเลือกหลักที่เลือกไม่มีตัวเลือกรองและเมื่อหน้าโหลดครั้งแรก เมื่อใดก็ตามที่มีการส่งแบบฟอร์มจะมีการล้างฟิลด์แรกเท่านั้นเนื่องจากส่วนใหญ่เวลาที่ดร็อปดาวน์ยังคงเหมือนเดิมอย่างไรก็ตามเนื่องจากสคริปต์ทำงานเมื่อใดก็ตามที่มีการเปลี่ยนแปลงในดรอปดาวน์หลักเนื่องจากโหลดตาม ไม่ถือว่าเป็นการเปลี่ยนแปลงมันเพียงเก็บตัวเลือกที่ถูกเลือก / ส่งในดรอปดาวน์หลักและจะแสดงดรอปดาวน์รองที่ว่างเปล่าแม้ว่าตัวเลือกหลักที่เลือกจะมีตัวเลือกรอง ฉันได้รับส่วนใหญ่ของ JS จากเมนูแบบเลื่อนลงเนื่องจากฉันไม่คุ้นเคยกับมันมาก เพื่อความเข้าใจที่ชัดเจนยิ่งขึ้น: นี่คือฟอร์มเมื่อเพจโหลดครั้งแรก เมื่อคุณเลือกตัวเลือกที่มีตัวเลือกรองตัวเลือกอื่น ๆ จะปรากฏขึ้น หลังจากที่คุณเลือกสถานีและส่งแล้ว Employee # จะล้างข้อมูล แต่อีกสองควรจะยังคงอยู่อย่างไรก็ตามเมื่อหน้าโหลดใหม่เมื่อมีการส่งจะมีลักษณะเช่นนี้และสถานีถูกล้างข้อมูลตามตัวดีบักเนื่องจากไม่มี ในทางเทคนิค ฉันไม่สนใจเกี่ยวกับการล้างสถานีมากนัก แต่เรื่องการไม่มีดร็อปดาวน์ว่างที่ไม่ควรว่างเปล่า และเมื่อฉันดูข้อมูลที่ยังคงอยู่ในแบบฟอร์มมีเพียงพื้นที่ทำงานอยู่เนื่องจากดรอปดาวน์ที่ขึ้นต่อกันไม่โหลดจนกว่าคุณจะเลือกตัวเลือกอื่นจากดรอปดาวน์และถ้าคุณต้องการที่จะเห็นตัวเลือก Box Assembly อีกครั้ง คุณต้องคลิกตัวเลือกอื่นแล้วกลับไปที่ Box Assembly (ตัวอย่าง) ฉันจะแก้ไขปัญหานี้ได้อย่างไร มีวิธีบังคับให้ javascript พยายามโหลดก่อนหรือไม่เพื่อตรวจสอบว่าตัวเลือกที่เหลืออยู่มีตัวเลือกรองไม่ว่าจะถูกทริกเกอร์หรือไม่ forms.py class WarehouseForm(AppsModelForm): class Meta: model = EmployeeWorkAreaLog widgets = { 'employee_number': ForeignKeyRawIdWidget(EmployeeWorkAreaLog._meta.get_field('employee_number').remote_field, site, attrs={'id':'employee_number_field'}), } …

1
จะแก้ไขปัญหา“ ยกเลิก” ใน Django ได้อย่างไร
ฉันกำลังทำโครงการใน Django ฉันได้ติดตั้ง python 3.7.5 และ Django 1.11 แล้ว เมื่อฉันพยายามเรียกใช้คำสั่ง python manage.py migrate ฉันได้รับ [1] abort python manage.py migrate สิ่งเดียวกันกำลังเกิดขึ้น python manage.py runserver ฉันได้รับการระดมสมองในช่วง 2 วันที่ผ่านมาเกี่ยวกับวิธีการแก้ไขปัญหานี้ แต่ไม่มีโชค มีใครช่วยฉันที่นี่ในการแก้ไขปัญหานี้หรือไม่
9 python  django 

1
Django ทำงานในอนาคตอันใกล้
Eventสมมติว่าฉันมีรูปแบบ ฉันต้องการส่งการแจ้งเตือน (อีเมล, กด, อะไรก็ได้) ให้กับผู้ใช้ที่ได้รับเชิญทุกคนเมื่อเหตุการณ์ผ่านไป บางสิ่งบางอย่างตาม: class Event(models.Model): start = models.DateTimeField(...) end = models.DateTimeField(...) invited = models.ManyToManyField(model=User) def onEventElapsed(self): for user in self.invited: my_notification_backend.sendMessage(target=user, message="Event has elapsed") ตอนนี้แน่นอนส่วนที่สำคัญคือการเรียกใช้เมื่อใดก็ตามที่onEventElapsed timezone.now() >= event.endโปรดทราบendอาจเป็นเดือนจากวันที่ปัจจุบัน ฉันคิดเกี่ยวกับวิธีพื้นฐานสองวิธีในการทำสิ่งนี้: ใช้cronงานเป็นระยะ(พูดทุก ๆ ห้านาทีหรือมากกว่านั้น) ซึ่งจะตรวจสอบว่ามีเหตุการณ์ใด ๆ เกิดขึ้นภายในห้านาทีที่ผ่านมาและดำเนินการตามวิธีการของฉัน ใช้celeryและกำหนดเวลาonEventElapsedโดยใช้etaพารามิเตอร์ที่จะเรียกใช้ในอนาคต (ภายในsaveเมธอดmodel ) เมื่อพิจารณาถึงตัวเลือกที่ 1 ทางออกที่อาจเกิดขึ้นได้ django-celery-beatได้ อย่างไรก็ตามดูเหมือนว่าจะแปลกเล็กน้อยในการเรียกใช้งานในช่วงเวลาคงที่สำหรับการส่งการแจ้งเตือน นอกจากนี้ฉันยังพบกับปัญหา (ที่อาจเกิดขึ้น) ที่จะ …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.