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

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

1
เมื่อใดควรใช้ Serializer ของ create () และสร้าง () perform_create () ของ ModelViewset
ฉันต้องการชี้แจงเอกสารที่ระบุdjango-rest-frameworkเกี่ยวกับการสร้างวัตถุแบบจำลอง จนถึงตอนนี้ฉันพบว่ามี 3 แนวทางในการจัดการกับเหตุการณ์ดังกล่าว create()วิธีการของ Serializer นี่คือเอกสาร class CommentSerializer(serializers.Serializer): def create(self, validated_data): return Comment.objects.create(**validated_data) create()วิธีModelViewset เอกสารประกอบ class AccountViewSet(viewsets.ModelViewSet): queryset = Account.objects.all() serializer_class = AccountSerializer permission_classes = [IsAccountAdminOrReadOnly] perform_create()วิธีModelViewset เอกสารประกอบ class SnippetViewSet(viewsets.ModelViewSet): def perform_create(self, serializer): serializer.save(owner=self.request.user) แนวทางทั้งสามนี้มีความสำคัญขึ้นอยู่กับสภาพแวดล้อมการใช้งานของคุณ แต่เราต้องใช้แต่ละcreate() / perform_create()ฟังก์ชันเมื่อใด ??. บนมืออื่น ๆ ผมพบว่าบัญชีของบางอย่างที่สองสร้างวิธีการที่ถูกเรียกร้องให้มีการโพสต์คำขอเดียว modelviewset ของcreate()และของ create()serializer หวังว่าทุกคนจะแบ่งปันความรู้เพื่ออธิบายและสิ่งนี้จะเป็นประโยชน์อย่างมากในกระบวนการพัฒนาของฉัน

4
ผู้ดูแลระบบ Django ที่ดีกว่า ManyToMany Field Widget
ฉันพบว่าmodels.ManyToManyFieldวิดเจ็ตเริ่มต้นของ Django Admin นั้นยุ่งยากในการใช้งาน เป็นองค์ประกอบเลือก HTMLและหากคุณมี Objects ของโมเดล "อื่น" จำนวนมากแสดงว่าเป็นไปไม่ได้เลยที่จะหาวัตถุ "อื่น" ที่คุณต้องการเชื่อมโยงกับวัตถุ "นี้" และหากคุณมีออบเจ็กต์ของโมเดล "อื่น" จำนวนมากดูเหมือนว่าจะทำให้การแสดงผลหน้าผู้ดูแลระบบช้าลงด้วยซ้ำ ฉันทราบว่าฉันสามารถสร้างวิดเจ็ตผู้ดูแลระบบที่กำหนดเองและใช้กับวิดเจ็ตของฉันได้ManyToManyFieldsตามที่เห็นสมควร แต่มีสิ่งใดบ้างที่ฉันสามารถใช้แทนได้ ในความฝันของฉันฉันนึกภาพวิดเจ็ต HTML ป้อนข้อความอัตโนมัติ สิ่งนี้สามารถทำได้จริง / ทำได้ในกรอบการดูแลระบบ Django หรือไม่? ขอบคุณ.

5
จะเปลี่ยนชื่อรายการในค่า () ใน Django ได้อย่างไร?
ฉันต้องการทำเหมือนในตั๋วนี้ที่ djangoproject.comแต่มีการจัดรูปแบบเพิ่มเติมบางอย่าง จากแบบสอบถามนี้ >>> MyModel.objects.values('cryptic_value_name') [{'cryptic_value_name': 1}, {'cryptic_value_name': 2}] ฉันอยากได้อะไรแบบนั้น: >>> MyModel.objects.values(renamed_value='cryptic_value_name') [{'renamed_value': 1}, {'renamed_value': 2}] มีวิธีอื่นในตัวมากกว่านี้หรือฉันต้องทำด้วยตนเองหรือไม่?
102 django  django-orm 

6
วิธีตั้งค่าเริ่มต้นของฟิลด์โมเดล Django เป็นการเรียกใช้ฟังก์ชัน / เรียกได้ (เช่นวันที่ที่สัมพันธ์กับเวลาของการสร้างโมเดลอ็อบเจ็กต์)
แก้ไข: ฉันจะตั้งค่าเริ่มต้นของฟิลด์ Django เป็นฟังก์ชันที่ได้รับการประเมินทุกครั้งที่สร้างโมเดลอ็อบเจ็กต์ใหม่ได้อย่างไร ฉันต้องการทำสิ่งต่อไปนี้ยกเว้นในรหัสนี้รหัสจะได้รับการประเมินครั้งเดียวและตั้งค่าเริ่มต้นเป็นวันที่เดียวกันสำหรับวัตถุแต่ละรุ่นที่สร้างขึ้นแทนที่จะประเมินรหัสทุกครั้งที่สร้างวัตถุแบบจำลอง: from datetime import datetime, timedelta class MyModel(models.Model): # default to 1 day from now my_date = models.DateTimeField(default=datetime.now() + timedelta(days=1)) เดิม: ฉันต้องการสร้างค่าเริ่มต้นสำหรับพารามิเตอร์ฟังก์ชันเพื่อให้เป็นแบบไดนามิกและได้รับการเรียกใช้และตั้งค่าทุกครั้งที่เรียกฟังก์ชัน ฉันจะทำเช่นนั้นได้อย่างไร? เช่น, from datetime import datetime def mydate(date=datetime.now()): print date mydate() mydate() # prints the same thing as the previous call; but I want …

8
ฉันจะเปลี่ยนรูปแบบเทมเพลตวันที่ Django เริ่มต้นได้อย่างไร
ฉันมีวันที่ในรูปแบบ ISO 8601 ในฐานข้อมูล, %Y-%m-%d. Oct. 16, 2011อย่างไรก็ตามเมื่อวันที่จะถูกส่งผ่านไปยังแม่แบบออกมาเป็นสิ่งที่ชอบ มีวิธีที่ฉันสามารถปรับแต่งรูปแบบให้เป็นอะไรก็ได้ที่ฉันต้องการ?

10
วิธีการอัปโหลดไฟล์ทดสอบหน่วยใน django
ในแอป django ของฉันฉันมีมุมมองที่อัปโหลดไฟล์ได้สำเร็จข้อมูลโค้ดหลักเป็นแบบนี้ ... if (request.method == 'POST'): if request.FILES.has_key('file'): file = request.FILES['file'] with open(settings.destfolder+'/%s' % file.name, 'wb+') as dest: for chunk in file.chunks(): dest.write(chunk) ฉันต้องการทดสอบหน่วยการดูฉันกำลังวางแผนที่จะทดสอบเส้นทางที่มีความสุขเช่นเดียวกับเส้นทางที่ล้มเหลว ..ie กรณีที่request.FILESไม่มีคีย์ 'ไฟล์' กรณีที่request.FILES['file']มีNone.. จะตั้งค่าข้อมูลโพสต์เส้นทางความสุขได้อย่างไรใครช่วยบอกที

10
ใน Django - Model Inheritance - อนุญาตให้คุณลบล้างแอตทริบิวต์ของโมเดลแม่หรือไม่?
ฉันต้องการทำสิ่งนี้: class Place(models.Model): name = models.CharField(max_length=20) rating = models.DecimalField() class LongNamedRestaurant(Place): # Subclassing `Place`. name = models.CharField(max_length=255) # Notice, I'm overriding `Place.name` to give it a longer length. food_type = models.CharField(max_length=25) นี่เป็นเวอร์ชันที่ฉันต้องการใช้ (แม้ว่าฉันจะเปิดรับข้อเสนอแนะก็ตาม): http://docs.djangoproject.com/en/dev/topics/db/models/#id7 สิ่งนี้รองรับใน Django หรือไม่ ถ้าไม่มีวิธีที่จะได้ผลลัพธ์ที่คล้ายกันหรือไม่?

8
Django: รับวัตถุจากฐานข้อมูลหรือ 'ไม่มี' หากไม่มีสิ่งใดที่ตรงกัน
มีฟังก์ชั่น Django ที่จะให้ฉันได้รับวัตถุจากฐานข้อมูลหรือไม่ถ้าไม่มีอะไรที่ตรงกัน ตอนนี้ฉันกำลังใช้สิ่งที่ชอบ: foo = Foo.objects.filter(bar=baz) foo = len(foo) > 0 and foo.get() or None แต่มันไม่ชัดเจนนักและมันก็ยุ่งเหยิงที่จะมีทุกที่
101 python  django 

6
Django: ฉันจะเพิ่มแอตทริบิวต์ html ที่กำหนดเองในช่องป้อนข้อมูลในแบบฟอร์มได้อย่างไร
ฉันมีช่องป้อนข้อมูลที่แสดงผลด้วยเทมเพลตดังนี้: <div class="field"> {{ form.city }} </div> ซึ่งแสดงผลเป็น: <div class="field"> <input id="id_city" type="text" name="city" maxlength="100" /> </div> ตอนนี้สมมติว่าฉันต้องการเพิ่มautocomplete="off"แอตทริบิวต์ให้กับองค์ประกอบอินพุตที่แสดงผลฉันจะทำอย่างไร หรือonclick="xyz()"หรือclass="my-special-css-class"?

13
ฉันจะใช้เทมเพลต Django โดยไม่เหลือ Django ได้อย่างไร
ฉันต้องการใช้เครื่องมือเทมเพลต Django ในโค้ด (Python) ของฉัน แต่ฉันไม่ได้สร้างเว็บไซต์ที่ใช้ Django ฉันจะใช้งานได้อย่างไรโดยไม่ต้องมีไฟล์ settings.py (และอื่น ๆ ) และต้องตั้งค่าตัวแปรสภาพแวดล้อม DJANGO_SETTINGS_MODULE หากฉันเรียกใช้รหัสต่อไปนี้: >>> import django.template >>> from django.template import Template, Context >>> t = Template('My name is {{ my_name }}.') ฉันเข้าใจ: ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.

11
AttributeError: ออบเจ็กต์ 'module' ไม่มีแอตทริบิวต์ 'testing'
ฉันใช้คำสั่งนี้: python manage.py test project.apps.app1.tests และทำให้เกิดข้อผิดพลาดนี้: AttributeError: ออบเจ็กต์ 'module' ไม่มีแอตทริบิวต์ 'testing' ด้านล่างนี้คือโครงสร้างไดเร็กทอรีของฉัน ฉันได้เพิ่ม app1 ลงในการกำหนดค่าแอปที่ติดตั้งแล้วด้วย Traceback (most recent call last): File "manage.py", line 10, in <module> execute_from_command_line(sys.argv) File "/home/username/local/dev/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 385, in execute_from_command_line utility.execute() File "/home/username/local/dev/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 377, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/home/username/local/dev/local/lib/python2.7/site-packages/django/core/management/commands/test.py", line 50, in run_from_argv super(Command, self).run_from_argv(argv) File …


4
การตั้งค่าการบันทึก Python อย่างหรูหราใน Django
ฉันยังไม่พบวิธีตั้งค่าการบันทึก Python ด้วย Django ที่ฉันพอใจ ข้อกำหนดของฉันค่อนข้างง่าย: ตัวจัดการบันทึกที่แตกต่างกันสำหรับเหตุการณ์ที่แตกต่างกันนั่นคือฉันต้องการที่จะสามารถบันทึกไปยังไฟล์ต่างๆ เข้าถึงคนตัดไม้ในโมดูลของฉันได้อย่างง่ายดาย โมดูลควรจะสามารถค้นหาคนตัดไม้ได้โดยใช้ความพยายามเพียงเล็กน้อย ควรใช้กับโมดูลบรรทัดคำสั่งได้อย่างง่ายดาย ส่วนต่างๆของระบบคือบรรทัดรับคำสั่งแบบสแตนด์อะโลนหรือกระบวนการดีมอน การบันทึกควรใช้กับโมดูลเหล่านี้ได้อย่างง่ายดาย การตั้งค่าปัจจุบันของฉันคือการใช้logging.confไฟล์และการบันทึกการตั้งค่าในแต่ละโมดูลที่ฉันเข้าสู่ระบบ มันไม่ถูกปาก คุณมีการตั้งค่าการบันทึกที่คุณชอบหรือไม่? โปรดดูรายละเอียด: คุณตั้งค่าการกำหนดค่าอย่างไร (คุณใช้logging.confหรือตั้งค่าในรหัส) คุณเริ่มต้นคนตัดไม้ที่ไหน / เมื่อใดและคุณจะเข้าถึงได้อย่างไรในโมดูลของคุณ ฯลฯ
101 python  django  logging 


7
โปรไฟล์ Django
แอปพลิเคชัน django ของฉันทำงานช้าลงอย่างเจ็บปวด อาจเป็นเพราะคำค้นหาที่ซับซ้อนหรือไม่ได้จัดทำดัชนี มีวิธี django-ish ในการกำหนดโปรไฟล์แอปพลิเคชันของฉันหรือไม่?
101 django  profiling 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.